我正在尝试使用我的支持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
但我仍然被困住了。
答案 0 :(得分:0)
DSL可以从v7 AppCompatActivity
运行
在屏幕截图中的候选人列表中,您可以看到它被定义为Activity
上的扩展功能,AppCompatActivity
是Activity
。
您的接收者(this
)是HomeAdapter
,不会延伸Activity
,Context
或ViewManager
。
如果你打电话给context.verticalLayout
它会编译,但我不知道结果是否是你想要的。