web-dev-qa-db-ja.com

未解決の参照:ActivityMainBinding

私はこの質問が以前に尋ねられたことを知っていますが、与えられたすべての答えを試しましたが、それでも何も得られません.var binding:ActivityMainBindingを定義しようとしていて、エラーが発生しました

未解決の参照:ActivityMainBinding

ここに私のmainActivityの一部があります

import com.kolydas.aboutme.databinding.ActivityMainBinding //error


class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding //error
    //....
}

これが私のアプリの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"
}

そしてもちろん、私のxmlファイルには、最初と最後にレイアウト/ layoutタグがあります。

10
Alex Kolydas

私のプロジェクトでは、ルート要素レイアウトでactivity_main.xmlをラップしないと、データバインディングが機能しません...

<?xml version="1.0" encoding="utf-8"?>

<layout>

<androidx.constraintlayout.widget.ConstraintLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent">

<androidx.recyclerview.widget.RecyclerView
Android:id="@+id/resycler_data"
Android:layout_width="0dp"
Android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

</layout>