私は画像とタイトルが含まれているカスタムレイアウトを作成しました。このレイアウトを再利用するには、<include>
タグを使用しています。問題は、私もに含まれているレイアウトに文字列リテラルすることができないということです。私はこれらを踏襲しようとしたが、成功しなかった。instructions。 Gradleで静的データ・バインディングのAndroidで[リテラル]
レイアウト/ titlebar.xml
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="title" type="String"/>
<!-- <variable name="imgSrc" type="android.graphics.drawable.Drawable" /> -->
</data>
<LinearLayout ... >
<!-- <ImageView ... android:src="{imgSrc}" /> -->
<TextView ... android:text="@{title, default=DefaultTitle}" />
</LinearLayout>
</layout>
レイアウト/ otherlayout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bind="http://schemas.android.com/apk/res-auto"
...
>
<!-- bind:imgSrc="@{@drawable/some_image}" -->
<include layout="@layout/titlebar"
bind:title="@{Example}" <---------- does not work
/>
...
</LinearLayout>
Iは、モジュールのデータ・バインディングを使用可能にしている:
android {
...
dataBinding {
enabled = true
}
...
}
はこのように私はActivityクラスからのデータをバインドする必要があり、あなたのアクティビティ/フラグメント –
@RaviRupareliyaにそのXMLを結合していることを確認し、動作するはず?私は渡す文字列定数は、クラスに何かを書く必要はありません。 xmlから定数をバインドする方法はありますか? – matoni
私はそれを試していないが、少なくともあなたのXMLをバインドする必要があります。まだ私はわからないが、あなたは 'DatabindingUtil.setContentView(この、)のような活動の結合とそれを試してみることができます;' –