android - 如何使用Android预定义常量在xml布局文件中绑定(bind)数据

标签 android android-databinding

Android 提供了通过数据绑定(bind)在 UI 上显示数据的新概念。我尝试在我的一个应用程序上实现它。在将 Lambda 表达式实现为按钮的点击处理程序时,我需要一个常量,即 View.VISIBLE 来在我的表达式中进行比较。但是当我写下面的代码时:

android:onClick="@{(activity_main)-> activity_main.getVisibility() == View.VISIBLE ? eventHandler.eventHandlerViaListenerBinding(true) : eventHandler.eventHandlerViaListenerBinding(false)}"

它给了我一个错误:

Error:(57, 83) Identifiers must have user defined types from the XML file. View is missing it

我的问题是如何在 xml 中导入常量?

提前致谢。

最佳答案

在您的数据标记内添加此内容。

<import type="android.view.View" />

或者只需更新库的 build.gradle 即可在主项目中启用数据绑定(bind):

dataBinding {
    enabled = true
}

关于android - 如何使用Android预定义常量在xml布局文件中绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42314097/

相关文章:

android - 登录过程应该如何?

android - java.lang.RuntimeException : start failed at android. media.MediaRecorder.start( native 方法)

android - Context : <no context> in AndroidStudio?的功能和用途是什么

Android 依赖项 com.google.firebase :firebase-core different version for the compile (12. 0.1) 和运行时 (11.4.2)

android - 为什么使用 ViewBinding 而不是 DataBinding?

android - 如何使用数据绑定(bind)将来自资源的字符串与 XML 中的动态变量结合起来?

android - Realm 与 Android 数据绑定(bind)混淆

java - Android DataBinding/Recyclerview - 使用 SpannableBuilder 为 textview 设置自定义跨度

java - 使用绑定(bind)类的 inflate() 时,Android 数据绑定(bind)不起作用

java - Volley的JsonObjectRequest给出“org.json.JSONException:值<br类型java.lang.String的值不能转换为JSONObject”异常