繁体   English   中英

在当前活动上单击按钮(不是后退按钮)时关闭当前和上一个活动

[英]Closing current and previous activity on click of button(not the back button) on current activity

我从主要活动 A 开始。从 AI go 到活动 B,从 BI go 到 C。 现在在活动 C 中,如果单击按钮(不是后退按钮),活动 B 和 C 需要关闭,并且需要创建活动 B 的新实例。 但是,如果未按下该特定按钮并且按下返回按钮,则活动 C 将关闭,我们将返回上一个活动 B。我正在制作一个提醒应用程序。 活动 B 是展示所有任务的回收器视图,活动 c 是创建新任务。 因此,如果在活动 C 上按下提交按钮,我希望关闭活动 C 和 B 并打开一个新的 b 实例,即带有新任务的回收器视图,但如果未按下提交,我想关闭活动 Z0D61Z0B8370CAD1D3E412F78 B. 怎么做?

也许你可以使用这两种方法

(1) 使用 IntentReceiver

从第二个活动开始

  Intent i = new Intent(SecondActivity.this, ThirdActivity.class);
    i.putExtra("SecondActivity", new ResultReceiver(null) {
        @Override
        protected void onReceiveResult(int resultCode, Bundle resultData) {
            SecondActivity.this.finish();
        }
    });
    startActivityForResult(i, 1);

在第三个活动

   ((ResultReceiver) Objects.requireNonNull(getIntent().getParcelableExtra("MainActivity"))).send(1, new Bundle());

    //And after this finish current activity (Second activty)

    startActivity(new Intent(ThirdActivity.this, FirstActivity.class));
    finish();

(2) 如果清除所有以前和当前的活动

Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

您可以使用方法finishAffinity()退出活动。 我希望这至少使问题变得容易一些。

使用意图标志 FLAG_ACTIVITY_CLEAR_TOP 启动活动 B

https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_CLEAR_TOP

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM