Как использовать тернарное условие внутри Ternaroy Operator в xml при настройке данных для TextView с привязкой данных Android - PullRequest
0 голосов
/ 04 июля 2018
 <TextView
    android:text="@{viewModel.sample.length>0?"first":"sorry"}"
    ---/>

выше XML-код предназначен для заданного текста, только для следующих условий ниже,

if(sample.length>0){
  textId.setText("first")
}else{
  textId.setTex("sorry")
}

но, как я могу обработать в XML для следующего условия ниже?

if(sample.length>0){
      textId.setText("first")
    }else if(sample.length>5){
      textId.setTex("second")
    }else{
      textId.setTex("sorry")
    }

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Попробуйте вложенный троичный оператор, как

<TextView
    android:text="@{viewModel.sample.length>0?(@{viewModel.sample.length>5?"second":"first"):"sorry"}"
    --------------------------------/>
0 голосов
/ 04 июля 2018

Мы можем использовать троичное условие и внутри другого троичного оператора.

Вы можете использовать тернарный оператор следующим образом: -

   <TextView
        android:text="@{viewModel.sample.length>5 ? "second" : viewModel.sample.length>0?"first":"sorry"}"
        ----/>
...