Android应用程序有两个活动。
首先:MainActivity
第二名:AddNewDataActivity
MainActivity有一个ListView。用户可以通过单击“添加”按钮来创建新的列表视图项。当用户单击“添加”按钮时,将打开AddNewDataActivity,用户将填写一些详细信息并保存完成的工作。保存工作后,活动结束,MainActivity出现在前面。
现在,在MainActivity出现之前,我想更新ListView中的项目。
答案 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