Связывание данных. Как написать многострочные объявления?
Есть ли способ написать многострочный код с библиотекой DataBinding?
Я пробовал следовать, но он жалуется на формат XML
android:text="@{
viewModel.subscriptionExpiration == null
? viewModel.field1
: viewModel.field2
}"
Со следующей ошибкой: Error:(80) Error parsing XML: not well-formed (invalid token)
Однострочные альтернативные работы, но я считаю это менее читаемым:
android:text="@{viewModel.subscriptionExpiration == null ? viewModel.field1 : viewModel.field2}"
Ответы
Ответ 1
Я пробовал делать рытье и не мог найти ответ. Я не знаю, что вы можете разбить струнные литералы таким образом в xml. В качестве альтернативы я бы рекомендовал вместо этого разгрузить оценку viewModel в виде:
android:text="@{viewModel.subscriptionStatus}"
то в вашем представлении класс модели
@Bindable
public String getSubscriptionStatus(){
return getSubscriptionExpiration() == null
? getField1()
: getField2();
}