android - 未解决的参考:将数据绑定导入 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
}
}
其中包名是我的包名。包名被识别,只有数据绑定不被识别,所以它显示为红色。
我想正因为如此, 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并搜索解决方案,但无法修复它。
任何人都可以帮忙,好吗?
提前致谢。
解决方案
看起来我在布局中缺少布局标签以支持数据绑定:
<layout xmlns:android="http://schemas.android.com/apk/res/android">
推荐阅读
- android - 如何在按下按钮时动态替换滚动视图中的布局
- vue.js - Onclick 功能在自定义图例图表 vue 中不起作用
- delta-lake - 如何更新 Delta 中分区列的值?
- asp.net-mvc - 没有 GetAwaiter 的定义(Razor,MVC)
- x86 - 多级分页中页表遍历的详细信息
- c++ - 仅在按 enter 时显示输出
- php - 返回一个 xml 文件,避免回显它
- php - 如何解决在执行“composer install”时找不到受支持的加密?
- amazon-web-services - 使用部署脚本时出现 AWS 身份验证问题
- kubernetes - 修改 pod 映像时,Replicaset 不会更新 pod