我有2项活动。
在活动1中,我有一个来自数据库的listview
显示数据和按钮Insert
活动2用于向数据库添加内容。
当我点击活动2中的按钮ADD
时,我调用方法finish()
并返回活动1。
那么,有人可以告诉我如何在活动1中重新加载listview
吗?
答案 0 :(得分:1)
重新创建适配器应该会有所帮助,因为你需要像Kaaaarll所说的那样获得一个新的数据集。
例如,您的代码中有类似的内容:
MyData data = database.getData();
MyAdapter adapter = new MyAdapter(data);
ListView list = new ListView();
list.setAdapter(adapter);
并在下一次运行中,在onResume()中,获取新数据并重新应用适配器:
MyData data = database.getData();
MyAdapter adapter = new MyAdapter(data);
list.setAdapter(adapter);
答案 1 :(得分:0)
您可以重新查询数据库以获取最新数据,然后重新填充listview的适配器。
答案 2 :(得分:0)
通知onResume()
方法活动中的数据集1.它应该类似于listViewAdapter.notifyDataSetChanged();
。不要忘记检查它们是否为null
。
让我知道它是否有效。
编辑:
这样的事情应该做(在活动1中):
@Override
protected void onResume() {
super.onResume();
if (listViewAdapter != null) {
listViewAdapter.notifyDataSetChanged();
}
}