数据绑定 - 如何编写多行声明?
Data Binding - How to write multi-line declarations?
有没有办法用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}"
我尝试进行一些挖掘,但找不到答案。我不知道您可以在 xml 中以这种方式分解字符串文字。作为替代方案,我建议以以下形式将评估卸载到 viewModel:
android:text="@{viewModel.subscriptionStatus}"
然后在你的 viewModel 中 class
@Bindable
public String getSubscriptionStatus(){
return getSubscriptionExpiration() == null
? getField1()
: getField2();
}
有没有办法用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}"
我尝试进行一些挖掘,但找不到答案。我不知道您可以在 xml 中以这种方式分解字符串文字。作为替代方案,我建议以以下形式将评估卸载到 viewModel:
android:text="@{viewModel.subscriptionStatus}"
然后在你的 viewModel 中 class
@Bindable
public String getSubscriptionStatus(){
return getSubscriptionExpiration() == null
? getField1()
: getField2();
}