android 应用程序有两个活动。
第一个:MainActivity
二:AddNewDataActivity
MainActivity 有一个 ListView。用户可以通过单击“添加”按钮来创建新的列表视图项。当用户单击“添加”按钮时,会打开一个 AddNewDataActivity,用户填写一些详细信息并保存已完成的工作。保存工作后,活动完成,MainActivity 出现在前面。
现在,在 MainActivity 出现之前,我想更新 ListView 中的项目。
android 应用程序有两个活动。
第一个:MainActivity
二:AddNewDataActivity
MainActivity 有一个 ListView。用户可以通过单击“添加”按钮来创建新的列表视图项。当用户单击“添加”按钮时,会打开一个 AddNewDataActivity,用户填写一些详细信息并保存已完成的工作。保存工作后,活动完成,MainActivity 出现在前面。
现在,在 MainActivity 出现之前,我想更新 ListView 中的项目。
您应该序列化您在 AddNewActivity 中创建的对象并将其作为结果传递给主活动。1) 使用 startActivityForResult(Intent) 开始第二个活动;2)在第二个活动上调用完成之前序列化对象(作为json)并通过setResult()将其作为捆绑包附加到结果中;3)在 MainActivity 上覆盖 onActivityResult 并解析结果中的数据并将对象添加到您的 ArrayList 或您使用的任何数据结构中。
还有另一种方法可以做到这一点。使用单例,您将拥有带有数据的 ArrayList,并在关闭第二个活动之前将对象添加到该 ArrayList,并且 int onActivityResult 只需刷新 ListView
下面是如何处理 onActivityResult 在Activity之间传输数据
为此,从您MainActivity
开始AddNewDataActivity
通过调用StartActivityForResult
() 方法而不是startActivity()
在您的 ActivityAddNewDataActivity
中调用方法 setResult() 并在 Intent 中传递数据,这将onActivityResult()
在您的此处调用该方法MainActivity
更新您的listview
..
这里检查 startActivityForResult() 示例的 示例