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

android - Android Data Binding build error: [data binding plugin]: failed to setup data binding

我正在使用 Google 的 Android Data Binding 库,我曾经使用过它。现在,似乎“某些东西”发生了变化,它导致了数据绑定库的问题。我被一个很难调试的非常通用的错误所困扰,一个[data binding plugin]: failed to setup data binding.

AFAIK,当数据绑定库与您的布局文件之一存在问题时(例如绑定中的拼写错误),会引发此错误。问题是,如何找出导致问题的布局文件?有人对如何找出问题所在有任何提示/建议吗?由于没有一次注释掉 XML 布局代码和 Java 代码文件,我对如何有效地解决这些类型的问题感到不知所措。

我得到的唯一线索是 Gradle 控制台中这个相当非描述性的堆栈跟踪:

0 投票
0 回答
574 浏览

android - Espresso 测试失败,java.lang.String 无法转换为 com.abc.events.databinding.SponsorDetailBinding

当我的 espresso 测试在片段布局上使用 android 数据绑定运行时,我收到此错误。当我使用该应用程序时,我没有看到任何崩溃。无论如何我可以避免这种情况吗?

片段中的 onCreateView 方法:

fragment_sponsordetail 布局:

堆栈跟踪是

引起:java.lang.ClassCastException:java.lang.String 无法在 com.abc.events.ui.detail.SponsorDetailFragment.onCreateView(SponsorDetailFragment.java:102) 处转换​​为 com.abc.events.databinding.SponsorDetailBinding 在 android .support.v4.app.Fragment.performCreateView(Fragment.java:1789) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:924) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager .java:1116) 在 android.support.v4 的 android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1218) 在 android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2170) 在 android.support.v4。 app.FragmentActivity.onCreateView(FragmentActivity.java:300) 在 android.support.v7.app.AppCompatDelegateImplV7.callActivityOnCreateView(AppCompatDelegateImplV7.java:838) 在 android。support.v7.app.AppCompatDelegateImplV11.callActivityOnCreateView(AppCompatDelegateImplV11.java:34) 在 android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:826) 在 android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView( LayoutInflaterCompatHC.java:44) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$WrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:280) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) ... 24 更多calligraphy.CalligraphyLayoutInflater$WrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:280) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) ... 24 更多calligraphy.CalligraphyLayoutInflater$WrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:280) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725) ... 24 更多

0 投票
4 回答
5754 浏览

android - android:recyclerview中的条目

我使用listview了条目属性,如下所示:

现在我将其转换为RecyclerView

我想知道我们是否有android:entries属性RecyclerView?或者任何其他属性而不是条目?

0 投票
1 回答
2743 浏览

android - 使用 Android 数据绑定时如何访问 BindingAdapter 中的实例变量?

所以我使用这个流行的数据绑定代码片段通过传入 URL 将图像加载到列表项的图像视图中:

绑定适配器:

如果我只是制作BindingAdapter非静态的,那么它会引发错误:

0 投票
4 回答
1916 浏览

android - Realm.io / Dagger / Databinding 在同一个项目中

通过 gradle 添加 Realm.io 作为依赖项后,我在编译项目时遇到问题。找不到dagger和databinding创建的生成文件。如果我删除 realm.io 应用程序编译正确。

这是我的 build.gradle

错误

我看到 Realm 也在生成文件,也许编译器不能很好地协同工作。关于如何使它工作的任何想法?

谢谢

0 投票
19 回答
40604 浏览

android - Android数据绑定:包不存在

我正在尝试将数据绑定与 Android 一起使用。

我不能再建立我的项目了。我收到了这个错误:

“错误:(13, 46) 错误:包 ch.company.project.databinding 不存在”

这是我的gradle

http://pastebin.com/dkXd1Mxr

http://pastebin.com/n9hkFWGQ

这里是gradle输出:

https://pastebin.com/w93Rausg

0 投票
6 回答
11382 浏览

android - 使用自定义适配器的 Android 数据绑定

我正在尝试将Android 的数据绑定功能与自定义适配器和 ListView 一起使用。我无法覆盖自定义适配器的getView方法:

所以我的问题是:

  • 我从哪里得到View我应该返回的元素?或者换句话说,如何将对象绑定到膨胀/转换的视图?
  • convertView使用数据绑定时如何重用?
  • 这是实现这一点的正确方法吗?该指南对 ListViews 不是很清楚

这是指南中 ListViews 的唯一参考:

如果您在 ListView 或 RecyclerView 适配器中使用数据绑定项,您可能更喜欢使用:

0 投票
1 回答
6794 浏览

android - Android 数据绑定条件资源

以下是 Android 数据绑定的典型用法:

当国家可以采用多种价值观时,情况会变得更加困难。编辑:在方法调用中使用 status 属性是使其工作的唯一方法:

并定义静态方法(没有@Bindable):

我怎样才能做到这一点,而不在 XML 中放置嵌套的三元运算符(我觉得这不是很优雅,顺便说一句),或者不传递check.status属性?

编辑:添加 XML:

0 投票
1 回答
219 浏览

android - 是否可以获得 android layout.xml 文件中声明的小部件的属性值?

android 应用程序中有没有办法检索在 a 中声明的小部件的属性值layout.xml

例如在我的layout.xml文件中,我有:

我想检索 的文字android:checked,例如我想"@{uiprefs.switchButtonEditable}"在运行时检索。

我在android.content.res.Resources课堂上使用getResources()Activity 进行搜索但没有成功:

  • 我无法将 xml 文件作为流获取。
  • 通过 解析属性Resources.getLayout()不会恢复属性值。

也许这个值隐藏在CheckBox实例中的某个地方,但我在调试时使用检查找不到它......

注意:我要检索的值尤其是数据绑定文字。也许我可以通过数据绑定 API 检索它?

0 投票
1 回答
1117 浏览

android - 引入数据绑定后无法运行仪器测试

我越来越

Warning: library class android.databinding.DataBindingUtil depends on program class android.databinding.DataBindingComponent

assembleItestAndroidTest在将数据绑定引入我的项目后尝试运行 gradle 任务时,我得到了这个。(我有一个单独的用于仪器测试的构建配置,我称之为itest,另外两个是调试和发布)

如何解决这个问题?

编辑:我认为这是一个 android-gradle 构建工具错误或 Android 数据绑定错误。我已向 Google 提交了一份错误报告,其中包含有关如何重现的完整说明。

这里的关键是构建类型被配置为运行缩小。debug因此,只要您依赖数据绑定,除仪器测试之外的任何构建类型都会失败。

对于任何将持续集成作为其生产周期不可或缺的一部分的公司来说,这几乎是一个阻碍,所以我希望谷歌优先考虑这一点。