问题标签 [android-databinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
21522 浏览

android - 数据绑定:找不到符号类 BR

我尝试在现有项目中使用数据绑定,但无法构建它。

在项目中使用build.gradle

申请

并在模块中:

我尝试将数据绑定与 RecyclerView/Fragment/ViewHolder/Adapter 一起使用。我使用的是 Android Studio 1.4.1。使用 compileSdkVersion 23 和 buildToolsVersion "23.0.1"。我在没有 apt、不同的 gradle 版本的情况下尝试了它,校对了我的类/xml。我还使用了 Butterknife(因为我的项目太大而无法一次更改所有内容)和其他(但不相关的)库。我同步并重建了我的项目,我关闭/打开了 Android Studio,我试图使缓存无效。我从一开始就建立了一个“新鲜”的例子,效果很好。

我的“数据类”中的getter 方法是@Bindable。

此外,不会创建数据绑定包。(错误消息说它不存在)和Error:cannot generate view binders java.lang.StringIndexOutOfBoundsException: String index out of range: -21

0 投票
6 回答
42484 浏览

android - 使用 Android 数据绑定创建双向绑定

我已经实现了新的Android数据绑定,实现后发现它不支持双向绑定。我试图手动解决这个问题,但我很难找到一个在绑定到 EditText 时使用的好的解决方案。在我的布局中,我有这个视图:

另一个视图也显示了结果:

在我的片段中,我创建了这样的绑定:

这有效并将 firstName 的当前值放在 EditText 中。问题是如何在文本更改时更新模型。我尝试在 editText 上放置一个 OnTextChanged-listener 并更新模型。这创建了一个循环杀死我的应用程序(模型更新更新 GUI,它调用 textChanged 时间无穷大)。接下来,我尝试仅在发生真正的更改时通知如下:

这效果更好,但每次我写信时,GUI 都会更新,并且出于某种原因,编辑光标移到了前面。

欢迎大家提出意见

0 投票
1 回答
1794 浏览

android - 数据绑定 - 如何编写多行声明?

有没有办法用 DataBinding 库编写多行代码?

我尝试关注,但它抱怨 XML 格式

出现以下错误:Error:(80) Error parsing XML: not well-formed (invalid token)

单行替代作品,但我发现它的可读性较差:

0 投票
2 回答
2158 浏览

android - Android 数据绑定 build.gradle 同步问题?

用于数据绑定

1)我添加了

到我的项目build.gradle,但发生此错误:

2)然后我补充说:

apply plugin: "com.android.databinding"(对项目build.gradle

classpath "com.android.databinding:dataBinder:1.0-rc1" (投影build.gradle

但是发生了同样的错误。

0 投票
2 回答
2110 浏览

android - 如何根据列表是否为空来更改视图的可见性

我有一个List使用数据绑定库绑定到布局的模型。如何View根据列表的isEmpty()条件更改 a 的可见性?就像是android:visibility="@{model.list.isEmpty() ? View.INVISIBLE : View.VISIBLE}"

0 投票
1 回答
1022 浏览

android - 生成的类列表不存在 {module root}\build\intermediates\data-binding-info\release\_generated.txt

我正在尝试在我的 Android 项目中设置数据绑定,并且每当我尝试构建时都会遇到错误。堆栈跟踪的顶部如下:

环境:

  • 视窗 8.1
  • Android Studio 1.4.1(也在 1.3 中尝试过)
  • 适用于 Android 1.5.0-beta1 的 Gradle 插件
  • 摇篮 2.4
  • 构建工具 23.0.2
  • 目标 SDK 版本 23,最低版本 21(也尝试针对 22)
  • Android Library项目依赖于各种java等android库
  • Dagger,带有 apt 代码生成的 dbFlow。

我已经从我的项目中删除了所有实际使用数据绑定库中的类型的代码——只是在我的 build.gradle 中启用数据绑定的行为会导致这个错误。我试过清理和重建,清除我的.gradle文件夹,清除所有.\build文件夹,重新启动 android studio 但无济于事。该错误发生在命令行和 AS 内。

非常感谢任何帮助。

0 投票
1 回答
1746 浏览

android - 如何为 TextView 定义自定义 BindingMethod?

我开始使用新的数据绑定 API。我想绑定TextView一个自定义属性,我可以在其中一次更改文本和背景。据我了解,api 有一个@BindingMethod注释,但文档有点弱。

我想要这样的东西:

item.badge是一个字符串,如重要或通知。对于 i18n,我不能直接使用此字符串,但这将帮助我选择正确的文本和正确的背景图像。

你能给我一个小例子或参考如何使用这个属性吗?我刚刚在 Stack Overflow 上找到了一个答案,但这并不能回答我的问题。

0 投票
1 回答
142 浏览

android - 如何在 Groovy 中使用 Android DataBinding (grooid)

我正在使用联合编译(在 groovy src 目录中有 .java 文件),以便 java 和 groovy 可以相互引用。但是,当使用 google 的数据绑定库时,编译器无法找到 layout.xml 文件中引用的类。我总是收到“无法为用户解析类型”有解决方法吗?

0 投票
10 回答
57642 浏览

android - 如何为 Android 上的 EditText 数据绑定到 onTextChanged?

Yigit Boyar 和 George Mount 关于 Android 数据绑定的演讲中,TextWatcher他们说明了绑定到's是多么容易onTextChanged(在 13:41)。在一个按钮上。他们的幻灯片错了吗?首先ButtonView 没有onTextChanged属性。它也没有setOnTextChanged方法。也没有EditText。但他们都有addTextChangedListener将 aTextWatcher作为输入。

那么他们在说什么?他们是怎么做到的呢?他们的示例代码无法编译,但会出现以下错误:

如何使用 Android 数据绑定框架绑定到任何 View 或 EditText 上的“文本更改事件”?

0 投票
0 回答
663 浏览

android - 有没有办法在布局中测试 android 数据绑定表达式?

使用 Android 的新数据绑定库,您可以在 xml 布局中编写内联表达式。例如,您可以这样设置视图的可见性:

我该如何进行单元/布局测试?我想确保在 user.isAdult 为真和假时正确切换可见性。