【问题标题】:Android: skip activities while going between activitiesAndroid:在活动之间移动时跳过活动
【发布时间】:2018-06-13 23:05:50
【问题描述】:

我有 4 个活动 A、B、C 和 D。

过渡是 A -> B -> C-> D。现在在活动 D 中,我打开了一个带有“确定”按钮的对话框片段。当我单击“确定”按钮时,我想回到活动 B。直到这里我没有任何问题。但是在活动 B 中,当我单击返回按钮时,我想返回活动 A,但它却重定向到活动 D。我该如何实现?

附:我目前正在开发 Xamarin Android,但我确信该解决方案适用于两者。

【问题讨论】:

  • 请查看 Darpan 的回答

标签: android android-activity xamarin.android


【解决方案1】:

您可以使用 finish() 方法和 onBackPressed() 完成之前的活动,只需重定向您想要的上一个活动。 举些例子: A-->B-->C-->D

D 类的 onbackPressed 使用 Intent 调用 C 类。在所有类中都一样。

【讨论】:

    【解决方案2】:

    在清单文件中设置活动 B 启动模式“singleTask”

    android:launchMode="singleTask"
    

    调用 D 到 B 活动后,您的 C 和 D 活动将销毁。 您的新意图数据通过此方法路由

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
    
    }
    

    更多信息请阅读this link info

    【讨论】:

      【解决方案3】:

      在安卓中:

      @Override
      public void onBackPressed() {
         Intent intent = new Intent(this, YourActivity.class);
         startActivity(intent);
      }
      

      在 xamarin 中:

      public override void OnBackPressed()
      {
          var intent = new Intent(this, typeof(ActivityYouWhantToGetBackTo));
          intent.SetFlags(ActivityFlags.ClearTop);
          StartActivity(intent);
      }
      

      【讨论】:

        【解决方案4】:
        • 使用StartActivityForResult启动活动D,按下OK按钮后,用户setResult设置一些你想直接回到活动B的指标。
        • 在活动 C 的 onActivityResult()finish 活动 C 中,如果您在活动 D 中设置的标志表明它想直接转到活动 B。

        它将完成活动 C,您将直接结束活动 B。

        这里很好地解释了它的工作原理https://developer.android.com/training/basics/intents/result.html

        【讨论】:

          【解决方案5】:

          您似乎需要使用 ClearTop 活动标志导航回活动 B。

          更多信息:

          https://developer.android.com/reference/android/content/Intent.html

          并使用它:

          yourIntet.AddFlags(ActivityFlags.ClearTop);

          【讨论】:

            【解决方案6】:

            在活动 B 中:

            @Override
            public void onBackPressed() {
               Intent intent = new Intent(this, AActivity.class);
               startActivity(intent);
            }
            

            你可以找到Xamarin格式here

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2021-10-31
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-07-26
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多