我在应用程序中有3个活动,比如A,B和C. 从A我可以导航到B或C.所以可能的工作流程有两种方式:
A> > B>> C(取得输入,然后在B中选择的公式开始计算)
A>> c取代;> B和选择公式后,它回到了C
问题
现在在案例1中。如果用户导航显示的路径,A> B> CI希望用户以与B的背压相同的方式导航回来,他应该转到C然后转到A:
但是在第二种情况下我希望用户应该从C转到A,我的意思是当用户回按时,在C中打开B不应该导航到B.换句话说,如果用户使用我的第二个案例进行导航,他应该来到A而不是C。
我在这种情况下如何处理这个问题。
答案 0 :(得分:0)
基本上不要在你的活动中覆盖背压,让android为你处理活动。
在First Usecase中:当您从MainActivity导航时 - > ActivityFormula - > ActivityMath。在这里,当您按下时,序列将是提取反转
在第二个用例中:当您从MainActivity - > ActivityMath导航时,不要将ActivityFormula保留在堆栈中,因此后面的内容不会转到ActivityFormula。
答案 1 :(得分:0)
@case 1,如果您自己没有关闭A和B,它将按您的意愿工作。不要覆盖任何事情。
@case 2,你可以在启动时简单地finish()
C.在ActivityC中写下以下代码:
Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
finish();
答案 2 :(得分:0)
第一个用例:来自ActivityA
- > ActivityB
- > ActivityC
的意图。在这里,当您按下时,序列将是提取反转
第二个用例:当nevigate ActivityA
- > ActivityC
时,导航' finish();
' - >&#时使用ActivityC
39; ActivityB
'
并使用
在ActivityB
Intent
到ActivityA
@Override
public void onBackPressed() {
Intent i = new Intent(ActivityC.this , ActivityB.class);
startActivity(i);
finish();
}
让我知道..如果还没有得到解决方案
答案 3 :(得分:0)
这是标准的Android行为。按BACK按钮(或调用Activity
)将使用户返回堆栈中的上一个 <h:messages id="msg1" layout="table" globalOnly="true" showDetail="true" showSummary="false"/>
。你不必做任何特殊的事情来获得这种行为。默认情况下,它的工作方式如下。