我有一个活动ItemList.java
。当用户点击项目时,它会启动新的活动,比如ItemDetailActivity.java
。
我想要做的是,当用户按下ItemDetailActivity.java上的按钮时,它应该告诉ItemList.java
刷新列表项。我知道myListAdapter.notifyDataSetChanged()
会刷新列表。但是ItemList.java
如何知道何时更改数据呢?
我不想使用静态方法或变量。我知道如何使用处理程序,但不知道如何将处理程序传递给其他活动。
我的想法是创建我自己的事件/侦听器,并将其与列表相关联,因此当事件触发时,更改列表。广播接收器能帮到我吗?
发布于 2011-12-22 22:09:46
最好的方法是使用观察者模式(请参阅http://en.wikipedia.org/wiki/Observer_pattern),但是您可以在ItemList.java中创建一个包含对myListAdapter.notifyDataSetChanged()
的调用的公共静态方法。
发布于 2011-12-22 22:09:31
您可以尝试startActivityForResult(intent_to_activity)
,并在同一个itemlist
类中重写方法:onActivityResult()
。在这个方法中,notify数据集发生了变化,它应该会反映出来。
发布于 2011-12-22 22:13:29
你真的不应该假设Android会保留对你以前活动的引用。如果这些都是基于数据库的,那么你真的不需要做任何事情来更新你的ItemList。如果不是,您可以简单地在ItemList活动的onResume()
中调用myListAdapter.notifyDataSetChanged()
。
https://stackoverflow.com/questions/8605025
复制相似问题