问题标签 [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 投票
8 回答
34708 浏览

android - DataBinding:如何通过动态 id 获取资源?

我知道可以通过资源 id 在布局中引用资源:

但是,我想通过 id 引用资源,这仅在运行时才知道。作为一个简单的例子,假设我们有这样的模型:

现在我需要将此值用作格式字符串中的值。让我们称之为

最直接的方法不起作用:

这只会将整数值放入占位符(也证明我正确初始化了我的 POJO,所以我没有在这里提供整个布局)。

我也尝试过使用@BindingConversion,但它没有用(实际上是预期的,但我还是尝试了) -int仍然分配给占位符并且没有调用绑定方法。

如何通过 DataBinding 库中的 id 显式获取资源?

0 投票
5 回答
18279 浏览

android-databinding - Android数据绑定如何获取用户输入的文本并在代码中获取

我有一个简单的登录表单,用户可以在其中输入用户名和密码,然后点击登录按钮。

我有我的布局文件,类似于这样的activit_main.xml:

这是我的 MainActivity.java:

问题是它第一次在我创建它的编辑文本中显示登录和密码并将其绑定在 OnCreate 中,但是当用户输入实际的用户名和密码时,它不会采用用户输入的新值。

那么如何获取用户输入的文本呢?

0 投票
2 回答
1685 浏览

android - 数据绑定 API 如何设置字符串

当我Data Binding API在 android 中使用时,我想删除样板代码,例如findViewById.

但是我有一个简单的 login_fragment 需要 auser-name和 a user-pw。点击Sign Up它后应该得到相应的字符串并将其写入我的User-Class

我的 XML 布局:

我将我的变量绑定xml-layout到 UI:

然后在我输入用户名和密码后,我点击注册,我希望数据绑定自动更新user并通过pw,但是当我尝试检索用户或密码时:User-ClasssetUsersetPw

也许我误解了ViewModel喜欢我的目的User-Class...

0 投票
2 回答
10988 浏览

android - 自定义视图上的自定义侦听器的数据绑定

我正在尝试使用新的 Android 数据绑定库在自定义视图上绑定事件,但遇到了问题。

这是我的自定义视图的相关部分:

我正在尝试使用此自定义视图并将onToggle事件与以下内容绑定:

toggleStrokeLimitation控制器上的方法在哪里:

编译时出现此错误:

我尝试使用android:onToggle而不是app:onToggle但得到相同的错误。

在阅读文档的绑定事件部分时,我觉得我可以将控制器的任何方法连接到onToggle事件。

框架是否将controller.toggleStrokeLimitation方法包装成SuperCustomView.OnToggleListener? onClick关于框架提供的现有魔法背后的任何暗示?

0 投票
3 回答
5977 浏览

android - 无法为 android 数据绑定创建自定义设置器 - “找不到访问器”错误

我正在尝试按照此处所述创建自定义设置器: https ://developer.android.com/tools/data-binding/guide.html#custom_setters

我的看法是:

绑定是:

文楼我收到错误:

我的loadImage功能有什么问题?如何制作正确的绑定适配器?

0 投票
3 回答
4346 浏览

android - Android Studio 显示警告:此处不允许元素合并

我基于 LinearLayout 创建自定义视图。类扩展了 LinearLayout 类,在布局中我有:

Android Studio 显示警告Element merge is not allowed here,但应用程序有效。

怎么了?

0 投票
2 回答
1519 浏览

android - 如何使用新的 Android 数据绑定库来填充基于 Collection 的 LinearLayout 的子级?

我开始使用数据绑定库,而且在大多数情况下,它工作得很好。

但是,我找不到是否有一种方法可以“循环”集合中的项目并使用它来填充 LinearLayout。

基本上,假设我有这个:

然后在我的XML中

我希望 TextView 的重复次数与我收到的电子邮件一样多。

有没有一种简单的方法可以做到这一点?

0 投票
1 回答
183 浏览

android - android gradle构建配置文件中的“Missing Time”

我们有一个安卓应用程序。我们正在使用 gradle2.5和 android gradle 插件1.4.0-beta1

我们最近添加了新的数据绑定插件 ( rc1),为我们提供了该应用程序的大量插件列表:

截至本问题,所有这些都是最新发布的版本。

我注意到我们的构建变得更长了,所以我开始调查并看到了这个--profile

配置文件结果

缺少的 4+ 分钟时间在哪里?

--debug看到以下日志:

正如您所看到的,从日志语句:app:compileDebugJavaWithJavac“完成执行”到下一个日志语句“完成”有 4 分钟以上的跳转。在两者之间没有关于 stderr 或 stdout 的日志。有什么想法吗?

这是我打开的一张票... https://code.google.com/p/android-developer-preview/issues/detail?id=3170

0 投票
2 回答
2852 浏览

java - 使用Android-M数据绑定应用单行字体不起作用

如Lisa Wray 的一篇文章中所述,我正在尝试将一些自定义字体应用于我TextView的一行。是进入的项目的一部分TextViewRecyclerView

我已将数据绑定依赖项添加到我的顶级构建文件中。

我还将插件应用到我的主模块:

这是item.xml将添加到RecyclerView.

我添加了一个layout根元素并app:font="@{@string/font_yekan}"结合了一个静态 setter 方法:

应该做的伎俩。但是当我运行程序时,字体没有改变。但是,当我删除上述静态方法时,出现以下错误:

找不到参数类型为 java.lang.String 的属性“app:font”的设置器。

所以数据绑定框架已经识别了绑定的东西,但是 setter 方法没有被调用(日志不打印输出)。

这里有什么问题?

0 投票
1 回答
2798 浏览

android - 生成的数据绑定类在哪里?

当我构建一个 Android 应用程序时,R.java用于在代码中引用资源的文件在以下位置生成:

/app/build/generated/source/r/debug/com/example/R.java

我的理解是,新的 Android 数据绑定库以类似的方式工作,在构建过程中根据布局文件名生成绑定类。例如,此布局名为view_drawer_page_header.xml

应该生成一个名为ViewDrawerPageHeaderBinding. 文档提到这个类将位于com.example.databinding包中。但是,如果我在构建后在我的项目中搜索具有此名称的文件,则不会得到任何结果。该应用程序在设备上运行良好,因此我假设生成的文件是最终 .apk 的一部分。是否可以检查它们的内容?

同样的问题适用于例如生成的BR类,用于引用Observable带有注释的可更新属性@Bindable