私は Advanced Data Binding-Google I/O 2016 の視聴を終了しました。さまざまなビューで使用される式の繰り返しを減らすために以下を適用したいと思います。
しかし、私はそれを私の場合に機能させることができません:
<ImageButton
Android:id="@+id/btn_list"
Android:layout_width="48dp"
Android:layout_height="48dp"
Android:layout_gravity="start"
Android:background="@drawable/btn_s01_list"
Android:visibility="@{bean.shouldHideControls? View.GONE: View.VISIBLE}"/>
<ToggleButton
Android:id="@+id/btn_radar"
Android:layout_width="48dp"
Android:layout_height="48dp"
Android:background="@drawable/btn_radar_selector"
Android:checked="false"
Android:gravity="end"
Android:text=""
Android:textOff=""
Android:textOn=""
Android:visibility="@{btn_list.visibility}"/>
そして私は得た
エラー:(426、39)識別子には、XMLファイルのユーザー定義型が必要です。 btn_listにありません
編集:
同じ話で重要なポイントを逃しました...ビューIDはラクダに分類されます。
バインディングプロセスは、IDをバインディングクラスのプロパティに変換し、生成された名前はキャメル大文字になります。
次の行を変更する必要がある場合があります。
Android:visibility="@{btn_list.visibility}"/>
これに:
Android:visibility="@{btnList.visibility}"/>