0

android 应用程序有两个活动。

第一个:MainActivity

二:AddNewDataActivity

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

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

4

2 回答 2

1

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

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

下面是如何处理 onActivityResult 在Activity之间传输数据

于 2013-10-24T12:08:13.750 回答
1

为此,从您MainActivity开始AddNewDataActivity通过调用StartActivityForResult() 方法而不是startActivity()在您的 ActivityAddNewDataActivity中调用方法 setResult() 并在 Intent 中传递数据,这将onActivityResult()在您的此处调用该方法MainActivity更新您的listview..

这里检查 startActivityForResult() 示例的 示例

于 2013-10-24T12:04:51.113 回答