我有一个ListAdapter
,如下所示:
setListAdapter(new ArrayAdapter<String>(DeleteMenu.this,
android.R.layout.simple_list_item_1,
classes));
我想在notifyDataSetChanged()
函数中调用onListItemClick()
。我尝试了几种不同的方法,并在StackOverFlow中查看了类似的问题,但我仍然无法弄明白。
有人可以帮忙吗?
编辑:我应该更清楚,我没有收到错误,我根本就不知道在函数notifyDataSetChanged()
上调用什么方法。我是否必须将ListAdapter
分配给变量并将其称为var.notifyDataSetChanged()
?
答案 0 :(得分:7)
您应该在适配器上调用notifyDataSetChanged
。
Adapter adapter = new Adapter();
ListView list = (ListView) findViewById(R.id.listview);
list.setAdapter(adapter);
adapter.notifyDataSetChanged();
答案 1 :(得分:7)
您可以通过获取对适配器的引用来调用方法notifyAdapterChanged()。您可以保留本地引用(如user1411084s的答案),也可以通过调用:
来检索它getListAdapter()
需要注意的是,接口ListAdapter不提供方法notifyDataSetChanged()
,因此您应该将其强制转换为您之前分配的适配器类型。
结果将如下所示(能够调用ListActivity / ListFragment中的任何位置:
((ArrayAdapter) getListAdapter()).notifyDataSetChanged();
答案 2 :(得分:1)
((BaseAdapter) listView.getAdapter()).notifyDataSetChanged();
在这个答案中查看更多信息: https://stackoverflow.com/a/4198569/3994630