4

我有一个活动ItemList.java。当用户点击项目时,它会启动新的活动,比如说ItemDetailActivity.java.

我想要做的是,当用户按下 ItemDetailActivity.java 上的按钮时,它应该告诉ItemList.java刷新列表项。我知道这myListAdapter.notifyDataSetChanged()将刷新列表。但是怎么ItemList.java会知道何时更改数据。

我不想使用静态方法或变量。我知道如何使用处理程序,但不知道如何将处理程序传递给其他活动。

我在想的是创建自己的事件/监听器并与列表关联,所以当事件触发时,然后更改列表。广播接收器会帮助我吗?

4

3 回答 3

3

您可以尝试startActivityForResult(intent_to_activity)在同一个itemlist类中覆盖方法 : onActivityResult()。在这种方法中,通知数据集会发生变化,它应该会反映出来。

于 2011-12-22T14:09:30.727 回答
3

最好的方法是使用观察者模式(请参阅http://en.wikipedia.org/wiki/Observer_pattern),但您可以在 ItemList.java 中创建一个公共静态方法,其中包含对myListAdapter.notifyDataSetChanged().

于 2011-12-22T14:09:46.420 回答
1

您真的不应该假设对您的旧活动的引用会被 Android 保持活动状态。如果这一切都基于数据库,那么您真的不需要为 ItemList 更新做任何事情。如果不是,您可以简单地调用您myListAdapter.notifyDataSetChanged()onResume()ItemList 活动。

于 2011-12-22T14:13:29.067 回答