为什么有 2 个不同的 ComponentActivity 类?
Why are there 2 different ComponentActivity classes?
我正在尝试通过 addOnBackPressedCallback
注册一个 OnBackPressedCallback
来处理我的片段中的后退按钮按下以接收 onBackPressed()
回调,而无需覆盖 [=34] 中的方法=](描述 Nov 5, 2018 release notes for androidx.activity)
如果您查看 AppCompatActivity Docs,它声称 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"
其他人可以重现这个问题吗?我做错了什么吗?
androidx.core.app.ComponentActivity
是一个隐藏的 class,它在 androidx.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
我正在尝试通过 addOnBackPressedCallback
注册一个 OnBackPressedCallback
来处理我的片段中的后退按钮按下以接收 onBackPressed()
回调,而无需覆盖 [=34] 中的方法=](描述 Nov 5, 2018 release notes for androidx.activity)
如果您查看 AppCompatActivity Docs,它声称 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"
其他人可以重现这个问题吗?我做错了什么吗?
androidx.core.app.ComponentActivity
是一个隐藏的 class,它在 androidx.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