I'm developing a ListView in an Android Fragment. The class extends ListFragment.
I tried with this example: http://www.heikkitoivonen.net/blog/2009/02/15/multicolumn-listview-in-android/
but the problem is that constructor SimpleAdapter is not defined if the class extends ListFragment, changing it to ListActivity would make SimpleAdapter work, but then application won't.
Here's the code:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View tmp_view = inflater.inflate(R.layout.clients_list, container, false);
    ListView list = (ListView) tmp_view.findViewById(R.id.list);
    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("train", "101");
    map.put("from", "6:30 AM");
    map.put("to", "7:40 AM");
    mylist.add(map);
    map = new HashMap<String, String>();
    map.put("train", "103(x)");
    map.put("from", "6:35 AM");
    map.put("to", "7:45 AM");
    mylist.add(map);
    // ...
    SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.clients_list_item,
                new String[] {"train", "from", "to"}, new int[] {R.id.TRAIN_CELL, R.id.FROM_CELL, R.id.TO_CELL});
    list.setAdapter(mSchedule);
    ListFragment.setListAdapter(mSchedule);
    return tmp_view;
}
So I will have no problem if this was an Activity, but it's a Fragment :S Any solution?
ListFragment is not a subclass of Context, which the constructor needs. Try replacing
SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, ...
with
SimpleAdapter mSchedule = new SimpleAdapter(getActivity(), mylist, ...
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With