接收器类型与Anko布局不匹配

时间:2017-11-15 00:02:59

标签: android kotlin anko

我正在尝试使用我的支持v4片段中的Anko DSL创建布局,但IDE显示接收器类型不匹配。 DSL可以从v7 AppCompatActivity中正常工作。为了让这个工作,我已经更新到Android Studio 3.0。我还像其他一些线程建议的那样更新了build.gradle中的依赖项。

以下是我的应用的build.gradle

中的依赖项
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.4.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:design:25.4.0'
    compile 'com.android.support:support-v4:25.4.0'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile "org.jetbrains.anko:anko:$anko_version"
    compile "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version"
    compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
    compile "org.jetbrains.anko:anko-support-v4-commons:$anko_version"
    compile "org.jetbrains.anko:anko-support-v4:$anko_version"
}

以及项目的build.gradle中的依赖项

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
}

我也看过这个问题'receiver type mismatch' with Fragment and Anko toast

但我仍然被困住了。

Screenshot

1 个答案:

答案 0 :(得分:0)

  

DSL可以从v7 AppCompatActivity

运行

在屏幕截图中的候选人列表中,您可以看到它被定义为Activity上的扩展功能,AppCompatActivityActivity

您的接收者(this)是HomeAdapter,不会延伸ActivityContextViewManager

如果你打电话给context.verticalLayout它会编译,但我不知道结果是否是你想要的。