当前位置: 首页 > 知识库问答 >
问题:

未解析引用:将数据绑定导入MainActivity时进行数据绑定

牧璞
2023-03-14

当我尝试将数据绑定导入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
    }
}

其中包名是我的包名。包名被识别,只有数据绑定不被识别,因此它显示为红色。

我想正是因为这个,碎片登录绑定

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"
}

我已经尝试遵循这个codelabhttps://codelabs.developers.google.com/codelabs/kotlin-android-training-add-navigation/#0并搜索解决方案,但无法修复它。

有人能帮忙吗?

提前谢谢。

共有1个答案

阚通
2023-03-14

看起来我在布局中缺少支持数据库绑定的布局标记:

<layout xmlns:android="http://schemas.android.com/apk/res/android">
 类似资料:
  • 我使用新的数据绑定库在Java编写了以下片段类 它的编译和运行都很好。 我尝试用Kotlin重写它,并得出以下结论: 但现在步骤输出以下内容: 错误:(16,38)未解析引用:DataBinding 错误:(37,27)未解析引用:FragmentDataBinding 我如何使用android-databinding库与Kotlin? 我的顶级: 应用程序目录中的我的(仅相关部分): 我使用的是

  • 我使用Android Studio Beta 1与和。我还启用了数据绑定: 但不幸的是,Kotlin类看不到从布局生成的类,因为我会遇到如下错误: 错误:(17,31)未解析的引用:数据绑定 错误:(39,36)未解决的引用:MyFragment绑定 当然,Java类可以看到这些生成的类。

  • 6.2. 使用DataBinder进行数据绑定 DataBinder是构建于BeanWrapper之上。[3]。 [3] 更多相关信息请查看the beans章节

  • 数据绑定 JXML 中的动态数据来自于该 Page 的 data字段。 简单绑定 数据绑定使用 Mustache 语法(双大括号)将变量包起来,可以作用于以下: 页面内容 <view> hello {{ name }} </view> Page({ data: { name: 'cortana' } }) 组件属性(需要在双引号之内) <view id="{{id}}"> </

  • 我的要求是对输入文件中给出的数据运行测试。为了实现,我正在使用 请帮助确定我做错了什么。

  • 我的布局名称是。我还看到了Android-DataBinding-绑定类将如何和何时生成?但这帮不了我。