返回 MainActivity 时 ListView 被恢复 - Android Java 活动
我正在构建一个应用程序,允许用户对列表视图进行编辑,在第二个活动中填充内容,然后使用意图将结果发送回第一个活动,并按原样显示结果。当专门编辑一个项目时,这很有效。如果我尝试编辑另一个项目,其余项目将恢复为初始值。 第二次活动抛出
I'm building an app where I allow the user to make edits to the listview, fill it with content in a second activity, and send the results back to the first activity using intents, and display the results as such. This works fine when specifically editing ONE item. If I try to edit another item, the rest of them get restored to the initial value.
secondactivity throw
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您可以使用 SharedPreferences 来存储编辑的值并传递首选项的值。
I think you can use
SharedPreferences
to store edited values and pass the value of the preference.MainActivity
应使用startActivityForResult()
启动SecondActivity
。SecondActivity
会做任何事情,当返回到MainActivity
时,SecondActivity
应该返回一个带有一些“的Intent
”MainActivity
可使用它来确定要显示/隐藏的View
或Layout
内容。要返回结果,SecondActivity
应调用setResult()
,而不是startActivity()
。在
MainActivity
中,实现onActivityResult()
。当SecondActivity
完成时将调用此方法,并且将使用SecondActivity
传递给setResult()
Intent 来调用该方法代码>.在onActivityResult()
中,您可以检查返回的Intent
中的“extras”,并相应地更新MainActivity
中的数据。这样,
MainActivity
中的数据就可以再次发送到SecondActivity
来编辑另一个项目等。MainActivity
should launchSecondActivity
usingstartActivityForResult()
.SecondActivity
will do whatever and when it is time to return toMainActivity
,SecondActivity
should return anIntent
with some "extras" thatMainActivity
can use to determine whatView
orLayout
to show/hide. To return the result,SecondActivity
should callsetResult()
, notstartActivity()
.In
MainActivity
, implementonActivityResult()
. This method will be called whenSecondActivity
finishes, and it will be called with theIntent
thatSecondActivity
passed tosetResult()
. InonActivityResult()
you can check the returnedIntent
for the "extras" and you can update the data inMainActivity
accordingly.In this way, the data in
MainActivity
can be sent toSecondActivity
again to edit another item, etc.