接收器类型与 Anko 布局不匹配
Receiver Type Mismatch with Anko Layouts
我正在尝试在我的支持 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"
}
这个问题我也看到了
但我还是卡住了。
DSL works ok from the v7 AppCompatActivity
并且在屏幕截图中的候选列表中,您可以看到它被定义为 Activity
上的扩展函数,并且 AppCompatActivity
是 Activity
。
您的接收器 (this
) 是 HomeAdapter
,它不会扩展 Activity
、Context
或 ViewManager
。
如果你调用context.verticalLayout
它会编译,但我不知道结果是否是你想要的。
我正在尝试在我的支持 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"
}
这个问题我也看到了
但我还是卡住了。
DSL works ok from the v7 AppCompatActivity
并且在屏幕截图中的候选列表中,您可以看到它被定义为 Activity
上的扩展函数,并且 AppCompatActivity
是 Activity
。
您的接收器 (this
) 是 HomeAdapter
,它不会扩展 Activity
、Context
或 ViewManager
。
如果你调用context.verticalLayout
它会编译,但我不知道结果是否是你想要的。