2

Возможно ли записать корпус переключателя с привязкой данных для Android?Корпус выключателя в привязке данных

Пусть я 3 условия, такие как

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

ли Есть ли способ, чтобы сделать этот материал в XML с помощью Data Binding?

Я знаю, что мы можем реализовать условный оператор как

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

Но здесь я ищу переключатель саз.

ответ

5

Нет, насколько я знаю, это невозможно, а также сделало бы файлы xml действительно нечитаемыми. Я думаю, было бы лучше реализовать это в вашей бизнес-логике, а не в файлах макетов.

+2

Ответ правильный. Операторы 'switch' не поддерживаются. Вы должны поместить этот логин в свойство модели представления, чтобы файл макета оставался читаемым. То есть, если вы не используете ресурс множественных чисел. –

0

То, что я думаю, что лучше делать это в бизнес-логике, но если вы хотите сделать это, чем вы должны сделать это с более инлайн, если заявления, как это:

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

Как вы видите, у вас есть чтобы добавить каждое следующее условие в состояние else, что делает все ужасное для чтения.

Смежные вопросы