为什么它们有2个不同的ComponentActivity类?

时间:2019-02-27 21:59:11

标签: android androidx android-ktx

我正在尝试通过OnBackPressedCallback注册addOnBackPressedCallback来接收onBackPressed()回调,而无需在您的活动中覆盖方法(通过{{ 3}})

如果您查看Nov 5, 2018 release notes for androidx.activity,它会声称AppCompatActivityandroidx.activity.ComponentActivity的延伸。

我遇到的问题是,在我的代码库中,AppCompatActivityandroidx.core.app.ComponentActivity(没有addOnBackPressedCallback())而不是androidx.activity.ComponentActivity(具有{{ 1}})。

我的依赖版本

addOnBackPressedCallback()

还有其他人可以重现此问题吗?我在做错什么吗?

1 个答案:

答案 0 :(得分:5)

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

您需要切换到androidx.appcompat:appcompat:1.1.0-alpha02才能插入片段1.1.0,该片段会更改FragmentActivity(并因此更改为AppCompatActivity)以扩展androidx.activity.ComponentActivity