AppCompatActivity无法识别registerForActivityResult问题求助
AppCompatActivity无法识别registerForActivityResult方法
AppCompatActivity无法识别registerForActivityResult方法,按继承链逻辑:AppCompatActivity继承自FragmentActivity,FragmentActivity又继承自ComponentActivity,而ComponentActivity本身是包含registerForActivityResult方法的,这一现象十分反常。
目前观察到的情况是:AppCompatActivity似乎继承了旧版本的FragmentActivity(来自fragment-1.0.0),该版本的FragmentActivity又继承了旧版本的ComponentActivity(来自core-1.0.0)。但直接使用ComponentActivity或FragmentActivity时,却能调用到正确的版本。
我怀疑问题出在build.gradle的依赖配置里,当前的依赖内容如下:
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') implementation 'androidx.appcompat:appcompat:1.6.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' implementation "androidx.multidex:multidex:2.0.1" implementation "androidx.core:core-ktx:1.12.0" implementation "com.google.firebase:firebase-analytics:21.4.0" implementation "com.google.firebase:firebase-messaging:23.3.0" implementation 'androidx.cardview:cardview:1.0.0' implementation 'com.google.android.material:material:1.10.0' implementation 'androidx.gridlayout:gridlayout:1.0.0' implementation 'com.google.firebase:firebase-crashlytics:18.5.0' implementation 'com.google.firebase:firebase-analytics:21.4.0' implementation("androidx.datastore:datastore-preferences:1.0.0") // optional - RxJava2 support implementation("androidx.datastore:datastore-preferences-rxjava2:1.0.0") // optional - RxJava3 support implementation("androidx.datastore:datastore-preferences-rxjava3:1.0.0") implementation project(':WeFiUiLibs') implementation project(':WeFiUtil') implementation "com.github.PhilJay:MPAndroidChart:v3.1.0" implementation("io.insert-koin:koin-core:3.5.0") implementation("io.insert-koin:koin-android:3.5.0") implementation 'com.jakewharton.timber:timber:5.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.navigation:navigation-ui-ktx:2.7.4' implementation("androidx.activity:activity-ktx:1.8.0")
试过保留或移除appcompat的依赖行,问题都没有解决。
补充:查看完整依赖列表时,多处出现如下内容:
androidx.fragment:fragment:1.0.0 -> 1.3.6 (*)
我猜测这表示1.0.0版本被替换为1.3.6版本,但不清楚(*)的含义。
内容的提问来源于stack exchange,提问作者theblitz
相关产品推荐
相关产品推荐

