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

android - Android数据绑定设置alignParentTop

我有以下布局(只剩下相关部分):

我尝试使用块中layout_alignParentTop声明的变量设置属性,<data>如下所示:

但是,在尝试编译时,android studio 会说以下内容:

错误:找不到参数类型为 java.lang.Boolean 的属性“android:layout_alignParentTop”的设置器。

如何layout_alignParentTop使用数据绑定变量设置属性?

0 投票
2 回答
4612 浏览

android - 调试android数据绑定?

谁能告诉我如何调试或从数据绑定中找到生成的代码。从这个链接我发现它生成了所需的代码。

0 投票
5 回答
11974 浏览

android - Android:数据绑定,notifyPropertyChanged() 不起作用?

我正在使用 Android 的数据绑定库。我有我的数据对象扩展BaseObservable

我的xml也被绑定了

绑定发生在初始值上。但是当我使用改变值时

更改不会反映在文本视图中。可能是什么问题呢?

0 投票
17 回答
30602 浏览

android - 数据绑定 Android - 类型参数 T 具有不兼容的上限:ViewDataBinding 和 MainActivity

我正在使用 Android Studio 2.0 Preview 4。我正在使用 Android SDK 工具 25 rc1。无论我清理/重建项目多少次,此错误都会持续存在。File-> Invalidate Caches and restart 也不起作用。我无法运行最基本的数据绑定示例。

build.gradle 文件

MainActivity.java

activity_main.xml

这是我的顶级 build.gradle 文件

0 投票
3 回答
7286 浏览

android - 在布局绑定中使用属性资源 (?attr/)?

Android 中的数据绑定目前似乎支持以下参考资源(根据数据绑定指南):@array, @color, @int, @dimen, @string... 这将在静态@BindingAdapter方法中将引用值作为参数提供。

例如:

布局/web_view.xml

绑定.java

但是对于主题和样式,我更经常使用属性资源,例如,?android:attr/textColorPrimary而不是@color引用。对于这种情况,绑定"@{}"语法会是什么样子?目前这就是我让它工作的方式,但也许有更好的方法?

布局/web_view.xml

绑定.java

0 投票
9 回答
78298 浏览

android - 如何使用 DataBinding 将 Image 资源设置为 ImageView

我们如何在 android 中使用数据绑定将图像资源放入一个ImageView?

如果待处理为真,我想要一张图像,如果待处理为假,我想要一张图像。但它显示错误。我怎样才能实现这个功能?

0 投票
2 回答
1389 浏览

android - android - 数据绑定如何使用

如果在生产中可用,我想在我的 android studio 项目中使用数据绑定。我正在网上搜索并找到对我显然不想要的 beta 副本的引用。但我在这里读到数据绑定是 api 23 的一部分并内置在 android studio 中?如果这是真的,我该如何使用它?我在 jcenter 上找不到它,它是 IDE 内置的吗?

我创建了一个 21 的最小 sdk 项目,我想使用数据绑定。xml中的这段代码不会编译:

确切的错误在可见性线上,它说“缺少/”

它仅适用于 api 23 吗?那么这不会在旧设备上中断吗?

0 投票
16 回答
180972 浏览

android - 如何使用 Fragment 进行数据绑定

我正在尝试遵循官方谷歌文档https://developer.android.com/tools/data-binding/guide.html中的数据绑定示例

除了我试图将数据绑定应用于片段,而不是活动。

我目前在编译时遇到的错误是

Error:(37, 27) No resource type specified (at 'text' with value '@{marsdata.martianSols}.

onCreate对于片段看起来像这样:

onCreateView对于片段看起来像这样:

我的片段布局文件的部分内容如下所示:

我的怀疑是它MartianDataBinding不知道它应该绑定哪个布局文件 - 因此出现错误。有什么建议么?

0 投票
1 回答
908 浏览

android - 无法使 Android 数据绑定插件工作

到目前为止,我正在尝试使用 android 数据绑定插件,但没有运气。

我正在使用:Gradle 2.2.1;Intellij IDEA 15。

项目级 build.gradle:

模块 build.gradle:

在尝试更改插件版本时,我遇到了一些不同的错误;我现在得到的错误是“错误:Gradle:配置项目':app4'时出现问题。

未能通知项目评估侦听器。android.databinding.tool.LayoutXmlProcessor.(Ljava/lang/String;Landroid/databinding/tool/writer/JavaFileWriter;IZLandroid/databinding/tool/LayoutXmlProcessor$OriginalFileLookup;)V"

0 投票
4 回答
2441 浏览

android - Android DataBinding layout_width : You must supply a layout_width attribut

I'm trying to bind the width and height of my view but I can't see where's the problem.

I found this on this google issue

To implement these for your application, create a binding adapter:

So I created my Binding Adapter like this :

And then try to set my width and height like this :

Where paramsMessage.width is a public int attribute.

But I get this error :

Caused by: java.lang.RuntimeException: Binary XML file line #25: You must supply a layout_width attribute. at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:607) at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6761) at android.view.ViewGroup$MarginLayoutParams.(ViewGroup.java:6930) at android.widget.RelativeLayout$LayoutParams.(RelativeLayout.java:1244) at android.widget.RelativeLayout.generateLayoutParams(RelativeLayout.java:1084) at android.widget.RelativeLayout.generateLayoutParams(RelativeLayout.java:83) at android.view.LayoutInflater.rInflate(LayoutInflater.java:820) at android.view.LayoutInflater.inflate(LayoutInflater.java:511) at android.view.LayoutInflater.inflate(LayoutInflater.java:415) at android.databinding.DataBindingUtil.inflate(DataBindingUtil.java:116) at android.databinding.DataBindingUtil.inflate(DataBindingUtil.java:88) at be.standard.appbusiness.tutorials.home.TutorialHomeFragment.onCreateDialog(TutorialHomeFragment.java:35) at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:308) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1234) at android.app.Activity.performStart(Activity.java:6258) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2621) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723)  at android.app.ActivityThread.access$900(ActivityThread.java:172)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:145)  at android.app.ActivityThread.main(ActivityThread.java:5832)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

  I would appreciate any helps on this, thank you !