1

我的片段与列表视图

@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() 未定义。执行了 AsyncTask,可以在 logcat 上看到。我做错了什么?

4

2 回答 2

2

我不能使用 notifyDataSetChanged() 来列出视图

因此,您需要使用 Adapter 实例来调用它,而不是调用notifyDataSetChanged()方法(在 ListView 实例上):all.notifyDataSetChanged()

ad.notifyDataSetChanged()

public void notifyDataSetChanged()

在 API 级别 1 中添加

通知附加的观察者底层数据已更改,任何反映数据集的视图都应自行刷新。

所以打电话notifyDataSetChanged()给你的适配器。

于 2013-07-06T05:59:27.700 回答
1

notifyDataSetChanged() 应该调用您的适配器实例而不是 ListView 本身

于 2013-07-06T05:59:09.240 回答