android – 无法在ListFragment上使用SimpleAdapter
作者:互联网
我正在Android片段中开发一个ListView.该类扩展了ListFragment.
我试过这个例子:
http://www.heikkitoivonen.net/blog/2009/02/15/multicolumn-listview-in-android/
但问题是,如果类扩展了ListFragment,则没有定义构造函数SimpleAdapter,将其更改为ListActivity会使SimpleAdapter工作,但是应用程序不会.
这是代码:
@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;
}
所以如果这是一个活动,我将没有问题,但它是一个片段:S任何解决方案?
解决方法:
ListFragment不是Context的子类,构造函数需要它.尝试更换
SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, ...
同
SimpleAdapter mSchedule = new SimpleAdapter(getActivity(), mylist, ...
标签:android,listview,fragment,simpleadapter 来源: https://codeday.me/bug/20190610/1209305.html