Просмотр привязок не генерирует - PullRequest
1 голос
/ 29 февраля 2020

Я сейчас пробую новые привязки ViewBindings, но я не заставляю их работать. Я на Android Studio 3.6.1. Я только что создал новый проект и добавил viewBinding.enabled = true в мои модули build.gradle. Но когда я пытаюсь получить доступ к классу MainActivityBinding, он говорит, что не может разрешить символ. Автозаполнение не находит ничего похожего на класс привязки. Я также пытался с другим проектом, используя Kotlin, но безуспешно. AS4.0 тоже не помогает. Что мне нужно сделать, чтобы сгенерировать классы ViewBinding?

Мой build.grade

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    viewBinding {
        enabled = true
    }

    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 29
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

Ответы [ 3 ]

1 голос
/ 03 марта 2020

У меня была эта проблема, пока я не обновился до новой Android Studio v3.61, которая имеет лучшую поддержку привязки View и другой рекомендуемый синтаксис для ее включения.

android {
     viewBinding.enabled = true
}

РЕДАКТИРОВАТЬ: Один Больше ловушек, на которые стоит обратить внимание: я не мог найти свои файлы привязки вида, пока не понял, что они названы в честь файлов XML, а не в классе. Поэтому я не смог найти их на HomeFragmentBinding, но нашел их на FragmentHomeBinding.

0 голосов
/ 26 апреля 2020

Я только что изменил названия раскладок, и все заработало

0 голосов
/ 02 марта 2020

Несколько вещей, чтобы убедиться, что вы сделали:

  • Убедитесь, что у вас есть правильно отформатированный файл макета с тегом макета вверху, объявляющим ваши переменные
  • Попробуйте синхронизация c

Я не проверял, но я знаю, что в настоящее время некоторые члены моей команды сообщают, что классы привязки больше не разрешаются в Android studio после обновления до 3.6 Однако проект по-прежнему работает нормально, поэтому они действительно есть, может быть ошибка с Android studio?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...