将数据从一个布局文件绑定到另一个布局文件

时间:2017-06-13 13:53:39

标签: android android-layout data-binding

我试图使用Android的数据绑定库但我收到此错误:

  

错误:(29,28)找不到与给定名称匹配的资源(at   '标题'有价值' @ {string / table}')。

     

错误:(30,27)没有资源   发现它与给定的名称匹配(在'图标'与值   ' @ {抽拉/ ic_table}'。)

我的问题是:我可以将数据从一个布局文件绑定到另一个布局文件吗?我的代码出了什么问题?

activity.xml:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    ....
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <include layout="@layout/image_with_text"
            android:id="@+id/tag_table"
            app:title="@{string/table}"
            app:icon="@{drawable/ic_table}"/>
    </LinearLayout>
.....

image_with_text.xml:

<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <import type="android.graphics.drawable.Drawable" />
        <variable
            name="title"
            type="java.lang.String" />
        <variable
            name="icon"
            type="Drawable" />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:src="@{icon}"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="@{title}"
            android:textStyle="bold" />
    </LinearLayout>
</layout>

我尝试更改为app:title =&#34; @ {@ string / table}&#34;但是当我运行代码时,Android Studio会更改为app:title =&#34; @ {string / table}&#34;。如果这有任何不同,请点击。

另外,我的字符串文件中有这个字符串

 <string name="table">Table</string>

0 个答案:

没有答案