0

我的应用程序在包含 ListView 的 Activity A 处启动。如果用户点击“添加”按钮并转到 Activity B,ListView 可以添加项目。

在活动 B 中,他们填写了一些表格并点击“确定”按钮,这会将他们带回活动 A,在该活动 A 中将新项目添加到 ListView。

从 B 到 A 后,我有一个 finish() 方法——但反之则不然。

所以如果你在添加三个项目后回击三次。它只会重复 ListView (Activity A) 3 次以上——少了一个添加的项目。

这样做的最佳方法是什么?我不能在“添加”按钮(从 A 到 B)上放置完成方法,因为如果您在 Activity B 中,它将关闭应用程序而不是将您带回 A ——这是我不想要的。也就是说,如果用户改变主意并且不想在 B 中通过点击“确定”来“添加新项目”。手动返回按钮是唯一的答案吗?

4

1 回答 1

3

使用表格开始活动 B startActivityForResult(),填写表格后完成活动 B。

编辑

当你startActivityForResult(),你传递2个参数,即intentrequestcode。完成新活动(在您的情况下为活动 B)后,您使用一个函数setResult(RESULT_OK)来表示活动 B 中的操作成功,然后调用finish(). 调用finish()Activity B 后会返回到 Activity A 并会调用onActivityResult(int requestCode, int resultCode, Intent data). 该参数requestcode有助于识别返回的特定活动/请求。

希望这个解释对你有所帮助。

于 2012-06-15T16:07:44.020 回答