Getting a constructor error with ArrayAdapter in a ListFragment on Android

android, android-fragments, android-listview, eclipse, java

Solution

Fragments are not context objects. You need to pass the Activity object (Fragment.getActivity()) as first argument instead.

Problem

Here's my code. I'm getting the error `The constructor ArrayAdapter<String>(MainFragment, int, String[]) is undefined` on ArraryAdapter. How do I populate the `listView1` with the array `items`? ``` public class MainFragment extends ListFragment { String[] items = { "12 Monkeys", "(500) Days of Summer", "Chariots of Fire" }; @Override public void onCreate(Bundle savedInstanceState) { setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items)); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub return super.onCreateView(inflater, container, savedInstanceState); } } ``` and here's my XML: ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout> ```

Original source