我正在构建一个应用程序,我允许用户对列表视图进行编辑,在第二个活动中用内容填充它,并使用意图将结果发送回第一个活动,并显示结果。当专门编辑一个项目时,这工作正常。如果我尝试编辑另一个项目,其余项目将恢复为初始值。 第二活动抛出
主活动捕获
我认为您可以使用SharedPreferences
来存储编辑后的值并传递首选项的值。
MainActivity
应该使用startActivityForResult()
启动SecondActivity
。SecondActivity
会做任何事情,什么时候回到MainActivity
,SecondActivity
应该返回一个带有一些"额外"的Intent
,MainActivity
可以用来确定显示/隐藏View
或Layout
。要返回结果,SecondActivity
应该调用setResult()
,而不是startActivity()
。
在MainActivity
,实现onActivityResult()
。此方法将在SecondActivity
完成时调用,并且将使用SecondActivity
传递给setResult()
的Intent
调用。在onActivityResult()
中,您可以检查返回的Intent
以获取"额外内容",并且可以相应地更新MainActivity
中的数据。
这样,MainActivity
中的数据可以再次发送到SecondActivity
以编辑其他项目等。