概要
AppCompatActivity(ComponentActivity)を継承していてもIDE上で以下のエラーが出てしまう対処方法です。
(動くけど、IDE上で赤くなる事象です)
以前のバージョンでも以下のような問題がありましたが同じようにやれば良いです。
https://qiita.com/ko2ic/items/dce06a03131268d1d6c3
解決方法
ワークアランドとして、こんな拡張メソッドを用意し利用しておけば良いでしょう。ASのバグが直ったら、この処理を削除します。
当然、ComponentActivityを継承してない場合に利用すると落ちますので、気をつけましょう。
inline fun <reified VM : ViewModel> Activity.viewModels(
noinline extrasProducer: (() -> CreationExtras)? = null,
noinline factoryProducer: (() -> ViewModelProvider.Factory)? = null,
) = (this as ComponentActivity).viewModels<VM>(extrasProducer, factoryProducer)
val Activity.onBackPressedDispatcher: OnBackPressedDispatcher
get() = (this as ComponentActivity).onBackPressedDispatcher