【发布时间】:2016-03-10 18:04:33
【问题描述】:
我的工作流程如下图所示。
- 点击
Home活动中的“新建”条目按钮 - 在
NewEntry活动中输入条目详细信息 - 在
NewEntry活动中点击“保存” - 导航回
Home活动
当我导航回Home 活动时,我使用setResult(RESULT_OK, intent); 函数将新条目详细信息从NewEntry 活动传递到Home 活动。
我也可以接收数据,除了新保存的数据的数据库ID。我在另一个线程中使用AsyncTask.execute() 将新条目数据保存到数据库中。只有将条目保存在数据库中后,我才会在回调函数中获取条目的ID。
但是,一旦我按下后退按钮并保存条目 AsyncTask 就会被调用,它会导航回 Home 活动。由于在 AsyncTask 执行完成之前没有为新条目设置 ID,因此我在收到的意图中的 Home 活动中没有得到 ID 的值。
我想获取ID 的数据库值并将其传递给Home 活动以用于其他目的。这样我就不必刷新Home活动中的整个列表来显示新条目
有没有办法做到这一点?
【问题讨论】:
-
只是一个建议,生成本地 UUID 并将其用作 ID,使其不会发生冲突。
-
@maytham-ɯɐɥʇʎɐɯ 谢谢。我确实想过像这样生成一个唯一的 ID。但是,我只是想看看是否有更有效的方法来做到这一点。
-
没问题,顺便说一句,你在 ITU 上吗
标签: android listview android-activity android-asynctask android-sqlite