Data binding jest używany do łączenia zmiennych/eventów wchodzących w skład danego elementu UI.
W zasadzie to wystarcza i nie trzeba kombinować więcej, ale naszło mnie pytanie, czy da się "połączyć" jakiś cały view z UI ze zmienną (zmienna typu tego view np. TextView w xml zostaje połączony z TextView (zmienną) w modelu, zamiast łączenia parametru "text" w xml TextView do jakiegoś Stringa w modelu)).
Powyższy przykład:
public class ViewModel {
private TextView textView;
private String textContent;
...jakaś inicjacja...
public TextView getTextView() {
return textView;
}
public String getTextContent() {
return textContent;
}
}
Powinno się zrobić tak:
w xml.
<data>
<variable
name="viewModel"
type="...app.viewmodel.ViewModel"/>
</data>
<TextView
...parametry...
android:text="@{viewModel.textContent}"/>
Moje pytanie brzmi, czy da się przypisać coś takiego:
<data>
<variable
name="viewModel"
type="...app.viewmodel.ViewModel"/>
</data>
<TextView = (jakieś wyrażenie tutaj albo w parametrach) "@{viewModel.textView}"
...parametry.../>
Jeśli ktoś chciałby się wypowiedzieć, to nie, nie obchodzi mnie czy to dobre rozwiązanie, sensowne, czy nie - no bo nie jest. Pytanie jest czysto teoretyczne.