当前位置: 首页 > 面试题库 >

使用include标签的Android数据绑定

汪庆
2023-03-14
问题内容

更新说明:

上面的示例 正常工作 ,因为版本1.0-rc4 解决 了需要不必要的变量的问题。

原始问题:

我完全按照文档中的描述进行操作,但不起作用:

main.xml:

<layout xmlns:andr...
    <data>
    </data>
       <include layout="@layout/buttons"></include>
....

button.xml:

<layout xmlns:andr...>
    <data>
    </data>
    <Button
        android:id="@+id/button"
        ...." />

MyActivity.java:

 ... binding = DataBindingUtil.inflate...
binding.button; ->cannot resolve symbol 'button'

如何获得按钮?


问题答案:

问题在于所包含的布局没有被视为数据绑定布局。要使其成为一体,您需要传递一个变量:

button.xml:

<layout xmlns:andr...>
  <data>
    <variable name="foo" type="int"/>
  </data>
  <Button
    android:id="@+id/button"
    ...." />

main.xml:

<layout xmlns:andr...
...
   <include layout="@layout/buttons"
            android:id="@+id/buttons"
            app:foo="@{1}"/>
....

然后,您可以通过按钮字段间接访问按钮:

MainBinding binding = MainBinding.inflate(getLayoutInflater());
binding.buttons.button

从1.0-rc4(刚刚发布)开始,您不再需要该变量。您可以将其简化为:

button.xml:

<layout xmlns:andr...>
  <Button
    android:id="@+id/button"
    ...." />

main.xml:

<layout xmlns:andr...
...
   <include layout="@layout/buttons"
            android:id="@+id/buttons"/>
....


 类似资料:
  • 上面的示例工作正常,因为版本1.0-rc4修复了需要不必要变量的问题。 我完全按照它在留档中的描述,它不起作用: main.xml: buttons.xml: MyActivity.java: 如何获取按钮?

  • 本文向大家介绍Android中使用include标签和merge标签重复使用布局,包括了Android中使用include标签和merge标签重复使用布局的使用技巧和注意事项,需要的朋友参考一下 尽管Android提供了各种组件来实现小而可复用的交互元素,你也可能因为布局需要复用一个大组件。为了高效复用完整布局,你可以使用<include/>和<merge/>标签嵌入另一个布局到当前布局。所以当你

  • 主要内容:创建动作类:,创建视图,配置文件Struts 的 include 标签和JSP include标记非常相似,它很少使用。我们已经看到了如何将一个Struts动作到一个jsp使用<s:action>标签的输出。 <s:include>标签略有不同。它可以进入一个jsp输出包括一个jsp,servlet或任何其他资源(其他的东西比一个Struts动作)。类似<jsp:include>,但它允许您将参数传递给被包含的文件,它是Stru

  • 尝试在grails 3.1.10应用程序上使用g:include,似乎: 这似乎通过ok传递id 试图传递参数(但似乎没有通过): 只是想知道这是否是一种在以后版本中修复的错误,如果是,是哪个版本? 啊,这可能也是以后版本的一个错误,我的参数有一个点 当我用. something尝试时,它不返回任何参数 我可以确认这是在grails 3.27下发生的,我将提交一个bug: 假设我们有这样一个控制器

  • 本文向大家介绍Android布局技巧之include、merge与ViewStub标签的巧用,包括了Android布局技巧之include、merge与ViewStub标签的巧用的使用技巧和注意事项,需要的朋友参考一下 前言 在开发中UI布局是我们都会遇到的问题,随着UI越来越多,布局的重复性、复杂度也会随之增长。 相信大家经常听到include、merge、ViewStub这样的标签,官方也提到