通过数据绑定将字符串传递给包含的布局不起作用
Passing string to included layout via data binding not working
我正在尝试使用 Android 数据绑定功能将一个简单的字符串从我的主布局传递到布局。它编译得很好,但传递给 include 的值实际上并没有被传递。即 - 它没有出现在我的布局中。
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable name="mytitle" type="java.lang.String"/>
</data>
<android.support.constraint.ConstraintLayout
android:background="@color/black_background"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/include1"
layout="@layout/mylayout"
app:mytitle="@{@string/categories}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</android.support.constraint.ConstraintLayout>
</layout>
我的包含布局是:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="mytitle" type="java.lang.String"/>
</data>
<android.support.constraint.ConstraintLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:background="@color/black_background"
android:layout_height="match_parent">
<TextView
android:id="@+id/category_header_textview"
style="@style/WhiteText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mytitle}"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
</layout>
好的。弄清楚了。在这里张贴给其他人。
我缺少的东西实际上是使用 DataBindingUtil 来设置内容视图。
将以下内容添加到您的 onCreate() 中:
DataBindingUtil.setContentView(this, R.layout.mylayout);
我正在尝试使用 Android 数据绑定功能将一个简单的字符串从我的主布局传递到布局。它编译得很好,但传递给 include 的值实际上并没有被传递。即 - 它没有出现在我的布局中。
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable name="mytitle" type="java.lang.String"/>
</data>
<android.support.constraint.ConstraintLayout
android:background="@color/black_background"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/include1"
layout="@layout/mylayout"
app:mytitle="@{@string/categories}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</android.support.constraint.ConstraintLayout>
</layout>
我的包含布局是:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="mytitle" type="java.lang.String"/>
</data>
<android.support.constraint.ConstraintLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:background="@color/black_background"
android:layout_height="match_parent">
<TextView
android:id="@+id/category_header_textview"
style="@style/WhiteText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{mytitle}"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
</layout>
好的。弄清楚了。在这里张贴给其他人。 我缺少的东西实际上是使用 DataBindingUtil 来设置内容视图。
将以下内容添加到您的 onCreate() 中:
DataBindingUtil.setContentView(this, R.layout.mylayout);