4

我正在尝试通过注册OnBackPressedCallback通过addOnBackPressedCallback接收onBackPressed()回调来处理片段中的后退按钮按下,而无需覆盖您的活动中的方法(描述2018 年 11 月 5 日的 androidx.activity 发行说明

如果您查看AppCompatActivity Docs,它声称AppCompatActivityandroidx.activity.ComponentActivity.

我遇到的问题是,在我的代码库中,AppCompatActivityandroidx.core.app.ComponentActivity(doesn't have addOnBackPressedCallback()) 而不是androidx.activity.ComponentActivity(has addOnBackPressedCallback()) 扩展。

我的依赖版本

implementation "androidx.core:core-ktx:1.0.1"
implementation "androidx.appcompat:appcompat:1.0.2"
implementation "androidx.activity:activity-ktx:1.0.0-alpha04"

其他人可以重现这个问题吗?难道我做错了什么?

4

1 回答 1

13

androidx.core.app.ComponentActivityandroidx.activity.ComponentActivity是在作为 AndroidX Activity 1.0 和 Fragment 1.1.0 的一部分创建之前使用的隐藏类

您需要切换到androidx.appcompat:appcompat:1.1.0-alpha02以拉入 Fragment 1.1.0,它会更改FragmentActivity(因此,AppCompatActivity)以扩展androidx.activity.ComponentActivity

于 2019-02-27T22:13:12.693 回答