Когда я пытаюсь импортировать привязку данных в 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, а также выполнять поиск для решений, но не смог исправить это.
Кто-нибудь может помочь, пожалуйста?
Заранее спасибо.