跨不同活动更新模型对象

时间:2011-01-04 21:39:03

标签: android architecture

假设我有2项活动:

  • A:显示文章标题的ListView。数据从Web服务器获取并从XML转换为ArticleSummary列表。服务器仅返回用户标题和ID。点击标题开始活动B.
  • B:编辑文章的表单。文章是从服务器获取的。当用户点击“确定”时,会向服务器发送修改并关闭活动。

当用户返回活动A时,我想在没有任何其他网络请求的情况下更新文章标题。

我在考虑以下解决方案:

  1. 修改文章时,发送包含文章ID和新属性值的广播事件。
  2. 在活动A上收听此活动
  3. 更新ArticleSummary对象
  4. 通知ListView上的数据已更改
  5. 有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

如果您希望在不同的活动之间拥有共享数据模型,可以将其放在Application类的扩展名中。或者,您可以使用单身人士。只需在重新启动ListView活动时从共享位置重新加载数据。

正如弗雷德利所提到的,如果你正在与服务器进行通信,你应该确保在一个单独的后台线程中这样做。

答案 1 :(得分:0)

您还可以使用startActivityForResult()来启动活动并管理返回的数据。

检查以下部分中的“从屏幕返回结果”部分。 http://developer.android.com/guide/appendix/faq/commontasks.html