Home » Android » Android ListView in Fragment

Android ListView in Fragment

Posted by: admin May 14, 2020 Leave a comment

Questions:

I am trying to create a list of items which contains an image and some description for the image in each individual. After which, the list will be place in a fragment inside the application. Can anyone guide me to create it? I am not too sure how can I do it without the ListActivity.

How to&Answers:

It seems like your Fragment should subclass ListFragment (not ListActivity). onCreateView() from ListFragment will return a ListView you can then populate.

Here’s more information on populating lists from the developer guide: Hello, ListView

Answer:

Here’s a code snippet to help you display ListView in a fragment.:

public class MessagesFragment extends ListFragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_messages, container,
            false);

    String[] values = new String[] { "Message1", "Message2", "Message3" };
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
        android.R.layout.simple_list_item_1, values);
    setListAdapter(adapter);
    return rootView;
}
}

And, this is how the xml would look like:

<ListView
  android:id="@android:id/list"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" >
</ListView>

If you do not use ‘list’ as ID or do not include a ListView into your layout, the application crashes once you try to display the activity or the fragment.

Reference: http://www.vogella.com/tutorials/AndroidListView/article.html#listfragments