3

我有 4 项活动:

Menu -> screen 1
Menu items -> screen 2
Detailed View -> screen 3
Ordered item -> screen 4

在菜单活动(屏幕 1)中,我有一个按钮 onclick,它转到 MenuItems 活动(屏幕 2,它是列表视图),单击列表视图中的任何项目时,它会转到此活动中的相应项目详细视图(屏幕 3)我有一个名为有序视图的按钮,单击此按钮将转到已订购项目(屏幕 4),在此屏幕 4 中,我有一个按钮将转到屏幕 2。

这是流量

Screen 1 ->screen 2->screen 3->screen 4->screen 2

问题:现在完成基本流程后,当我在屏幕 2 中单击返回时,它会进入屏幕 4,再次单击返回它会进入屏幕 3,这导致用户没有多次单击返回按钮,因为活动已经存在于堆。

如何处理这个我的意思是后退按钮导航。

我尝试过使用标志,但它对我不起作用。

我也提到了这个

  1. Android:点击返回时删除一系列活动

  2. 注销时,清除 Activity 历史堆栈,防止“返回”按钮打开仅登录的 Activity

编辑我得到了答案: 所以我的几个朋友在这里回答了我使用了这个 Intent.FLAG_ACTIVITY_CLEAR_TOP

所以

screen 1->screen 2->screen 3-> screen 4->screen 2

因此,在屏幕 4 中,我必须设置此标志,以便清除该活动之上的所有活动。

4

4 回答 4

8
Intent intent= new Intent(this, screen 1.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
于 2012-11-15T07:14:39.457 回答
1

您必须在每个意图之后使用 finish() 以便此活动将关闭。

您可以将功能从 4 活动到 2 活动。在它之后也使用完成。

于 2012-11-15T07:11:18.717 回答
1

您要做的是将屏幕 2 设置为清单中的 launchMode singleTop。这可确保您的堆栈中一次只有其中一项活动。您还想在您的意图中设置清除顶部标志。

Intent a = new Intent(this,A.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(a);
于 2012-11-15T07:13:55.800 回答
0

您必须在每个意图之后使用 finish() 以便此活动将关闭。

您可以将功能从 4 活动到 2 活动。在它之后也使用完成。

http://nanostuffs.com/Blog/?p=607

您必须检查此链接中的链接使用子活动作为选项卡的主要活动。

于 2012-11-15T07:32:20.710 回答