繁体   English   中英

如何同时完成()两项活动?

[英]How to finish() two activities at the same time?

我正在为小孩子写一个数学应用程序来学习数学。 它首先提示用户选择他们想要的问题类型( MainActivity ),然后它会显示一堆问题( QuestionsActivity )。 在回答了10个问题之后,它会告诉您哪些问题得到了正确回答,哪些问题没回答(ResultsActivity)。

我知道Android将所有活动放在堆栈上。 就我而言,它看起来像这样:

ResultsActivity
QuestionsActivity
MainActivity

当你调用finish ,会从堆栈中弹出一个活动。 我希望在ResultsActivity返回主菜单按钮以返回MainActivity 但是,如果我在ResultsActivity调用finish ,则用户将看到QuestionsActivity 那我怎么打电话给两个活动finish

两种选择:

  1. 在调用启动ResultsActivity之后,在QuestionsActivity中调用finish() 这将从堆栈中删除它,以便从ResultsActivity返回返回MainActivity。
  2. 在意图中使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM