Android:即使其他活动处于活动状态,也会更新ListView的内容

时间:2013-10-24 11:57:18

标签: android android-listview

Android应用程序有两个活动。

首先:MainActivity

第二名:AddNewDataActivity

MainActivity有一个ListView。用户可以通过单击“添加”按钮来创建新的列表视图项。当用户单击“添加”按钮时,将打开AddNewDataActivity,用户将填写一些详细信息并保存完成的工作。保存工作后,活动结束,MainActivity出现在前面。

现在,在MainActivity出现之前,我想更新ListView中的项目。

2 个答案:

答案 0 :(得分:1)

为此,在MainActivity开始AddNewDataActivity活动时,请致电StartActivityForResult()方法而不是startActivity(),并在完成致电后AddNewDataActivity活动中方法setResult()并传递Intent中的数据,这将调用onActivityResult()中的MainActivity方法来更新您的listview ..

此处查看startActivityForResult()example

的示例

答案 1 :(得分:1)

Yous应序列化您在AddNewActivity中创建的Object,并将其作为结果传递给主活动。 1)用startActivityForResult(Intent)开始第二个活动; 2)在调用第二个活动完成之前序列化对象(作为json)并通过setResult()将其作为bundle extra添加到结果中; 3)在MainActivity上覆盖onActivityResult,并从结果中解析数据并将对象添加到您的ArrayList或您使用的任何数据结构中。

还有另一种方法可以做到这一点。使用单例,其中u将具有数据的ArrayList,在关闭第二个活动之前将对象添加到该ArrayList,并且int onActivityResult只刷新ListView

以下是如何处理onActivityResult Transfering data between Activities