我的片段与listview
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View local=inflater.inflate(R.layout.allist,container,false);
ListView all=(ListView) local.findViewById(R.id.alllistView);
String link=getString(R.string.mainlink);
al=new ArrayList<MyItem>();
ArrayAdapter<MyItem> ad=new ArrayAdapter<MyItem>(getActivity(), android.R.layout.simple_list_item_1,al);
rlt=new RefreshLinkTask();
rlt.execute(new String[]{link});
all.setAdapter(ad);
return local;
我的问题是我不能将notifyDataSetChanged()用于listview。它显示方法notifyDataSetChanged()未定义类型ListView。执行的AsyncTask可以在logcat上看到。我做错了什么?。
答案 0 :(得分:2)
我不能将notifyDataSetChanged()用于listview
所以不要将notifyDataSetChanged()
方法调用为all.notifyDataSetChanged()
(在ListView实例上),而是需要使用Adapter实例将其调用为:
ad.notifyDataSetChanged()
public void notifyDataSetChanged()
在API级别1中添加
通知附加的观察者基础数据已被更改,反映数据集的任何视图都应自行刷新。
请在适配器上调用notifyDataSetChanged()
。
答案 1 :(得分:1)
notifyDataSetChanged()应该调用适配器实例而不是ListView本身