我有以下模型:
MainActivity
导航(通过按钮)到ActivityA
。
ActivityA
将记录列表显示为ListView
(来自SQLite
数据库)。
如果单击任何记录,则将启动一个意图,该意图ActivityB
显示要编辑的所选记录的数据。
如果我按设备的后退按钮,它将带我回到ActivityA
。
ActivityB
有一个“保存”按钮,如果单击该按钮,将ActivityA
使用更新的记录(在编辑后)打开的新意图,该按钮也将为finish()
ActivityB
。
在这里,如果我按下设备后退按钮(保存ActivityB
并打开后ActivityA
),它将带我使用旧ActivityA
数据,而更新之前(旧版本的ActivityA
),然后再次单击设备后退按钮,它将返回到MainActivity
。
问题是:如何让设备后退按钮始终返回到父级层次结构,而不是转到先前的打开活动中?
或者
ActivityA
如果用户单击中的“保存”按钮,如何杀死旧实例ActivityB
?
感谢您的帮助。
您可以FLAG_ACTIVITY_CLEAR_TOP
在Intent
用于启动中指定标志ActivityA
。
Intent intent = new Intent(this, ActivityA.class);
intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
startActivity(intent);
如果ActivityA
正在启动的任务已经在当前任务中运行,那么它将关闭在其之上的所有其他活动,ActivityA
并ActivityA
使用新的Intent重新启动。将没有必要要求finish()
上ActivityB
明确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句