George Mountが 1.0-rc4 から始めて言っ たように、データ バインディングを使用する場合、インクルードに変数は必要なくなりました。
ボタン.xml:
<layout xmlns:andr...>
<Button
android:id="@+id/button"
...." />
main.xml:
<layout xmlns:andr...
...
<include layout="@layout/buttons"
android:id="@+id/buttons"/>
....
しかし、私はそれを試してみましたが、エラーが発生しました:
エラー:(10, 31) 識別子には、XML ファイルからのユーザー定義型が必要です。toolbarViewModel にそれがありません
ツールバーが含まれています:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data class="LoginPhoneFragmentBinding">
<variable
name="toolbarViewModel"
type="ru.mobileup.myalarm2.binding.ToolbarViewModel"/>
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/toolbar"
android:id="@+id/toolbarBinding"/>
ツールバーのレイアウトは次のとおりです。
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/primary"
android:theme="@style/ToolbarThemeOverlay"
app:navigationIcon="@{toolbarViewModel.navigationIconResId}"
app:navigationOnClickListener="@{toolbarViewModel.navigationOnClickListener}"
app:title="@{toolbarViewModel.title}"
app:menu="@{toolbarViewModel.menuResId}"
app:menuListener="@{toolbarViewModel.onMenuItemClickListener}"/>
なにが問題ですか?
注: 渡された変数を使用すると、すべて正常に動作することがわかっています。ジョージが言った使い方を理解しようとしています。