Ale*_*das 6 data-binding android kotlin
我知道这个问题已经被问过了,但是我尝试了所有给出的答案,但仍然一无所获。
未解决的参考:ActivityMainBinding
这是我mainActivity的一部分
import com.kolydas.aboutme.databinding.ActivityMainBinding //error
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding //error
//....
}
Run Code Online (Sandbox Code Playgroud)
这是我的App build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.kolydas.aboutme"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
dataBinding{
enabled = true //enable data binding
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
kapt "com.android.databinding:compiler:3.4.0"
}
Run Code Online (Sandbox Code Playgroud)
当然,在我的xml文件中,我在开头和结尾都有layout / layout标签。
小智 15
尝试添加 build.gradle (Module:app)
buildFeatures {
viewBinding true
}
Run Code Online (Sandbox Code Playgroud)
小智 12
有时您所需要的只是清理并重建项目。
Build -> Clean Project
Build -> Rebuild Project
Run Code Online (Sandbox Code Playgroud)
这足以生成绑定类。
And*_*oid 10
没有任何建议对我有用,因为解决此问题的正确方法是放置 (app level build.gradle)
buildFeatures{
dataBinding = true
viewBinding = true
}
Run Code Online (Sandbox Code Playgroud)
我时不时地会看到这个相对较旧的错误(无论是否使用 kotlin,但当您将类从 java 转换为 kotlin 时,它很常见),并且它仍然是最新的 android studio 的问题。在许多情况下,清理项目并没有帮助。每当这个问题似乎没有正当理由时,以下技巧总是可以解决问题:
解决方案1
重命名 xml 文件(例如main_activity2.xml), clean the project and try to do change MainActivityBinding toMainActivity2Binding`
解决方案2(我最近才发现这个技巧,但它似乎也可靠)
或者在有问题的 xml 文件中进行更改(添加视图等或更改属性),清理项目,然后它会再次工作。
背景
我在模块之间移动布局时看到这种情况发生,有时在其他情况下也是如此。但定期重构结构会导致这个问题。有时,在许多情况下,某些缓存问题会导致此问题,即使删除所有临时文件并清理项目也无济于事,但仅更改 xml 或重命名它确实可以解决问题...
| 归档时间: |
|
| 查看次数: |
905 次 |
| 最近记录: |