【问题标题】:Android Studio - How to manage onBackPressed event?Android Studio - 如何管理 onBackPressed 事件?
【发布时间】:2020-02-28 16:37:27
【问题描述】:

说明:

我有一个活动(活动 A),其中一个按钮更改为另一个活动(活动 B),该活动有另外 3 个按钮。按钮 A 转到 Fragment A,按钮 B 转到 Fragment B,按钮 C 转到 Fragment C。我正在重写 onBackPressed 方法

问题:

我如何管理 onBackPressed 方法,以便您不能返回到 Activity A(这是一个 login 活动),但可以返回,例如,从片段 C 到 B?

编辑:

我正在使用以下脚本在片段之间返回:

getActivity().onBackPressed();

【问题讨论】:

标签: android onbackpressed


【解决方案1】:

您可以从历史堆栈中删除活动。您可以通过在 Activity A 上将 android:noHistory 属性设置为“true”来实现此目的。

<activity
    android:name=".Activity_A"
    android:noHistory="true" />

但如果这是特殊情况,您可以通过这种方式从其他 Activity D 启动您的 Activity A

//From activity D
val intent = Intent(this, Activity_A.class)
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
startActivity(intent)

从堆栈中删除 Activity_A 的其他方法是在启动 Activity B 后调用 finish()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2017-07-27
    相关资源
    最近更新 更多