Android передает переменную во включенный вид

#android #android-layout

#Android #android-макет

Вопрос:

У меня есть макет как таковой:

 <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="viewModel"
            type="com.myPackage.MyViewModel" />
    </data>


    <android.support.design.widget.CoordinatorLayout>
      <include layout="@layout/modal_popup_view" />

    </android.support.design.widget.CoordinatorLayout>

</layout>
 

Как я могу передать переменную viewModel во включенный макет?

Ответ №1:

Определите viewModel (или любую другую именованную) переменную в вашем @layout/modal_popup_view .

 <data>

    <variable
        name="viewModel"
        type="com.myPackage.PopupViewModel" />
</data>
 

В MyViewModel нем раскрывается свойство popupViewModel типа PopupViewModel . Передайте свойство включенному макету.

 <include layout="@layout/modal_popup_view"
app:viewModel="@{viewModel.popupViewModel}" />