我搜索了很多,但找不到合适的答案。
我有两个活动。每项活动都有一个列表视图。
每个listviews都有一个自定义 ArrayAdapter 。所以:
活动1 ----> Listview 1 ------>自定义ArrayAdapter 1
活动2 ----> Listview 2 ------>自定义ArrayAdapter 2
当我按下活动1 中的按钮时,它会刷新 Listview 1 (它的适配器)。
目标是:我必须在Listview 2上进行刷新。我怎样才能做到这一点?我读过有关广播的内容,但对此并不了解。
谢谢!
答案 0 :(得分:12)
如果你在 Activity1 ,尝试刷新 Activity2 的listview是没用的,因为它不可见。但是,您可以做的是,当用户切换到 Activity2 时,只需在其中 onResume()方法和 Activity2中调用适配器的notifyDataSetChanged()
将会刷新。
答案 1 :(得分:1)
在每个活动中将listView添加为全局变量,并将其设为公共静态。
然后,只需在需要时调用它。
e.g。在activity1中,调用以下内容使activity2中的列表刷新
if(SecondActivity.listView != null)
((ArrayAdapter)SecondActivity.listView.getAdapter()).notifyDataSetInvalidated();