Неразрешенная ссылка: привязка данных при импорте привязки данных в MainActivity - PullRequest
0 голосов
/ 28 февраля 2020

Когда я пытаюсь импортировать привязку данных в MainActivity, я получаю ошибку «Неразрешенная ссылка: привязка данных».

Файл MainActivity:

package <package-name>

import <package-name>.databinding.FragmentLoginBinding

class LoginFragment : Fragment() {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
        val binding = DataBindingUtil.inflate<FragmentLoginBinding>(inflater,
            R.layout.fragment_login,container,false)

        binding.register_btn.setOnClickListener { view : View ->
            view.findNavController().navigate(R.id.action_loginFragment_to_welcomeFragment)
        }

        binding.login_btn.setOnClickListener { view : View ->
            view.findNavController().navigate(R.id.action_loginFragment_to_welcomeFragment)
        }

        return binding.root
    }
}

, где package-name - это имя моего пакета. Имя пакета распознается, только привязка данных - нет, поэтому он отображается красным.

Я думаю, из-за этого FragmentLoginBinding в

val binding = DataBindingUtil.inflate<FragmentLoginBinding>(inflater,
            R.layout.fragment_login,container,false)

тоже не распознается.

Файл build.gradle проекта:

buildscript {
    ext{
        kotlin_version = '1.3.61'
        gradle_version = '3.6.0'
        data_binding_compiler_version = gradle_version
    }
    dependencies {
        classpath "com.android.tools.build:gradle:$gradle_version"
    }
}

Файл build.gradle приложения:

apply plugin: 'kotlin-kapt'

android {
    dataBinding {
        enabled = true
    }
}

dependencies {
    kapt "androidx.databinding:databinding-compiler:$data_binding_compiler_version"
}

Я уже пытался следовать этой кодовой метке https://codelabs.developers.google.com/codelabs/kotlin-android-training-add-navigation/#0, а также выполнять поиск для решений, но не смог исправить это.

Кто-нибудь может помочь, пожалуйста?

Заранее спасибо.

1 Ответ

0 голосов
/ 28 февраля 2020

Похоже, мне не хватало тега макета в макете для поддержки привязки данных:

<layout xmlns:android="http://schemas.android.com/apk/res/android">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...