2016-08-08 58 views
2

使用android数据绑定写入切换案例有可能吗?数据绑定切换案例

假设我有3个条件像

value == 1 then print A 
value == 2 then print B 
value == 3 then print C 

请问有没有办法通过使用数据绑定做到这一点的东西,在XML?

我知道我们可以实现诸如

android:visibility="@{age < 13 ? View.GONE : View.VISIBLE}" 

条件语句,但我在这里寻找开关case语句。

回答

5

不,据我所知这是不可能的,也会使xml文件真的不可读。我认为最好在业务逻辑中实现这一点,而不是在布局文件中实现。

+2

答案是正确的。 'switch'语句不被支持。您应该将该登录名放入视图模型属性中,以便布局文件保持可读性。也就是说,除非你使用复数资源。 –

0

我认为是更好地做到这一点的业务逻辑,但如果你想做到这一点,比你有更多的内联做,如果语句是这样的:

android:text='@{TextUtils.equals(value, "1") ? "A" : TextUtils.equals(value, "2") ? "B" : TextUtils.equals(value, "3") ? "C" : ""}' 

正如你看你有没有在其他状态下添加每一个下一个条件,这使得一切都很糟糕。