[英]How to finish() two activities at the same time?
我正在为小孩子写一个数学应用程序来学习数学。 它首先提示用户选择他们想要的问题类型( MainActivity
),然后它会显示一堆问题( QuestionsActivity
)。 在回答了10个问题之后,它会告诉您哪些问题得到了正确回答,哪些问题没回答(ResultsActivity)。
我知道Android将所有活动放在堆栈上。 就我而言,它看起来像这样:
ResultsActivity
QuestionsActivity
MainActivity
当你调用finish
,会从堆栈中弹出一个活动。 我希望在ResultsActivity
返回主菜单按钮以返回MainActivity
。 但是,如果我在ResultsActivity
调用finish
,则用户将看到QuestionsActivity
! 那我怎么打电话给两个活动finish
?
两种选择:
finish()
。 这将从堆栈中删除它,以便从ResultsActivity返回返回MainActivity。 Intent.FLAG_ACTIVITY_CLEAR_TOP
返回MainActivity。 这将清除所有活动。 您可以通过再次简单地启动MainActivity并使用以下标志清除堆栈来清除堆栈:
final Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.