Предположим, у меня есть активность A с activity_a. xml. и я устанавливаю переменную привязки моего ViewModel VMA . У меня есть другой вид деятельности B, и теперь я хочу использовать тот же activity_a. xml, но с другой ViewModel VMB . Теперь проблема в том, что я могу использовать одно и то же имя переменной «ViewModel» для обеих моделей представления (VMA и VMB). И если я использую другое имя переменной, то как я буду использовать их в одном и том же свойстве представления, например: android:text = "@{viewModel.text}"
Давайте посмотрим только на случай TextView, может быть несколько других случаев, когда мне понадобится ViewModel в XML
activity_a. xml
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewModel"
type="com.example.VMA" />
<!--
<variable
name="viewModel" I can't use same variable name as ViewModel
type="com.example.VMB" /> -->
</data>
<TextView>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@{viewModel.text}"
</TextView>
</layout>
Теперь я хочу использовать одну и ту же компоновку с другим VMB типа ViewModel в XML для действия B.