Android坏导航

Android坏导航,android,android-intent,android-activity,login,Android,Android Intent,Android Activity,Login,我得到一个奇怪的导航行为,我不知道为什么会发生,也不知道如何修复它 我刚刚在Android Studio 2.1中创建了一个新项目,并从活动库中添加了一个登录活动和一个主/细节流活动 我在attemptLogin()中添加了以下代码到LoginActivity: Intent intent = new Intent(this, ItemListActivity.class); startActivity(intent); 这样,应用程序将在登录活动中打开,当我单击登录按钮时,它将跳转到主/详细

我得到一个奇怪的导航行为,我不知道为什么会发生,也不知道如何修复它

我刚刚在Android Studio 2.1中创建了一个新项目,并从活动库中添加了一个
登录活动
和一个
主/细节流活动

我在
attemptLogin()
中添加了以下代码到
LoginActivity

Intent intent = new Intent(this, ItemListActivity.class);
startActivity(intent);
这样,应用程序将在登录活动中打开,当我单击登录按钮时,它将跳转到主/详细流程活动中。到目前为止,一切正常。但是,当我单击主/详细流程活动工具栏上的返回按钮时,应用程序关闭,它不会像预期的那样返回到
登录活动

Master/Detail Flow活动
按预期工作,但如果我单击某个项目,将打开一个新的
活动
,其中包含该项目的详细信息,其返回按钮按预期工作,使应用程序返回到
列表活动

我在
登录活动
主/详细流程活动
中找不到任何会改变后台堆栈的代码,我甚至添加了第二个
登录活动
,使应用程序运行:

登录活动1
->
登录活动2
->
主/明细流程活动

它现在在
登录活动1
登录活动2
之间正常工作,但当我尝试从
主/详细流程活动
返回时,而不是返回到
登录活动2
,它关闭了应用程序…我在
主/细节流活动中也找不到任何会改变后台堆栈的代码。我的
AndroidManifest
也应该如此(它是由androidstudio自动生成的,我没有做任何更改)

我甚至试着做一个:

登录活动1
->
登录活动2
->
主/明细流程活动1
->
主/明细流程活动2

登录活动2->主/明细流活动1
之间仍然存在错误,但在
主/明细流活动1->主/明细流活动2
登录活动1->登录活动2
之间,它的工作原理与预期一致……因此,同样没有任何线索,这变得非常奇怪,因为此测试显示它不在新的
活动的
登录活动
调用中,也不在
主/细节流活动
接收中,而是仅在这两个特定
活动
之间的接口中

这对于任何人来说都是相当容易尝试和复制的,只需创建一个新项目并创建
活动,正如我所说的那样我可以做些什么返回到
登录活动
?为什么会发生这种情况?


编辑:


测试的完整代码

您的问题是因为在内部类UserLoginTask中,在LoginActivity类中,您正在调用onPostExecute()方法中的finish()。删除此行,您将注意到应用程序运行良好。 所以它是这样的:

        @Override
        protected void onPostExecute(final Boolean success) {
          mAuthTask = null;
          showProgress(false);

          if (!success) {
              mPasswordView.setError(getString(R.string.error_incorrect_password));
              mPasswordView.requestFocus();
          }
      }

我进行了测试,测试结果与预期一致

最好的方法:首先用断点调试代码,如果没有发现任何错误,那么发布你的代码..我调试了所有代码。。。代码太大,无法发布,在Android Studio上自己创建更容易。我现在觉得很傻…我搜索了所有
finish
navigateUpFromSameTask
,我想我错过了这个!谢谢只有一件事我不明白……如果两者都已完成,为什么它会从
LoginActivity2
返回到
LoginActivity
?不,如果您显式完成(),则活动已完成。如果这个答案对你有效,请将其标记为正确我知道了…我可以在活动之间来回移动,因为我做得很快…不到2秒,这是后台任务延迟…因此,只要我在2秒内导航,所有工作…现在都有意义了!谢谢