为什么有2个不同的ComponentActivity类?(Why are there 2 diffe

2019-10-16 13:03发布

我试图通过注册一个处理回到我的片段按下按钮OnBackPressedCallback通过addOnBackPressedCallback接收onBackPressed()回调,而无需重写方法在你的活动描述( 11月5日,为androidx.activity 2018发行说明 )

如果你看一下AppCompatActivity文档 ,它声称AppCompatActivity从延伸androidx.activity.ComponentActivity

我运行到的是,在我的代码库,问题AppCompatActivity从延伸androidx.core.app.ComponentActivity (没有addOnBackPressedCallback()而不是androidx.activity.ComponentActivity (有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"

别人能重现这个问题? 难道我做错了什么?

Answer 1:

androidx.core.app.ComponentActivity是已前使用一个隐藏类androidx.activity.ComponentActivity被创建为AndroidX活动1.0和1.1.0片段的一部分

您需要切换到androidx.appcompat:appcompat:1.1.0-alpha02在片段1.1.0,这改变拉FragmentActivity (因此, AppCompatActivity )来扩展androidx.activity.ComponentActivity



文章来源: Why are there 2 different ComponentActivity classes?