Cannot use SimpleAdapter in ListFragment

I am developing a ListView in an Android fragment. The class extends ListFragment.

I tried in this example: http://www.heikkitoivonen.net/blog/2009/02/15/multicolumn-listview-in-android/

but the problem is that the SimpleAdapter constructor is not defined, if the class extends ListFragment, changing it to ListActivity, SimpleAdapter will work, but then the application will not.

Here is 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 not have problems if it was an Activity, but this is Fragment: S Any solution?

+4
source share
2 answers

Finally, we found a solution using a custom adapter: http://codehenge.net/blog/2011/05/customizing-android-listview-item-layout/

+3
source

ListFragment is not a subclass of Context that the constructor requires. Try replacing

 SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, ... 

with

 SimpleAdapter mSchedule = new SimpleAdapter(getActivity(), mylist, ... 
+5
source

Source: https://habr.com/ru/post/1379287/


All Articles