我有3个活动在应用程序,比如说A,B和C,从A我可以导航到B或C。因此,可能的工作流有两种方法:
问题
现在,在第1种情况下,如果用户被导航到显示的路径,我希望用户以我指的在B的反向按下的方式返回A>B>C,他应该转到C,然后转到A:
但在第二种情况下,我想让用户从C转到A,我的意思是在C中打开B不应该在用户按回时导航到B。换句话说,如果用户使用我的第二种情况导航,他应该是A而不是C。
在这种情况下我如何处理这个问题。
发布于 2015-04-27 11:39:46
基本上不覆盖您的活动中的反压,让android为您处理回退活动。
在第一个Usecase中:当您从MainActivity-->ActivityFormula-->ActivityMath.导航在这里,当你向后按下序列时,顺序会很明显地相反。
在第二个Usecase中:当您从MainActivity->ActivityMath导航时,不要将ActivityFormula保存在堆栈中,因此回压不会转到ActivityFormula。
发布于 2015-04-27 12:42:19
@案例1,如果你自己还没有关闭A和B,它就会按照你的意愿工作。不要覆盖任何东西。
@case 2,只要启动B,就可以简单地使用finish() C。在ActivityC中编写以下代码:
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
finish();发布于 2015-04-27 15:36:44
第一个Usecase:ActivityA-->ActivityB-->ActivityC.的意图在这里,当你向后按下序列时,顺序会很明显地相反。
第二步:当nevigate ActivityA->ActivityC时,导航“ActivityC”-“ActivityB”时使用finish();
并在ActivityB Intent to ActivityA中使用
@Override
public void onBackPressed() {
Intent i = new Intent(ActivityC.this , ActivityB.class);
startActivity(i);
finish();
}告诉我..。如果仍然得不到解决
https://stackoverflow.com/questions/29894550
复制相似问题