Условный оператор в Layout XML String / Int as Hint - PullRequest
0 голосов
/ 15 марта 2020

Я пытался создать динамический c входной макет с использованием recyclerview. Я использовал подсказку в качестве строки ресурса, но в некоторых случаях подсказка приходит из серверной части как String . Итак, я хочу установить подсказку, используя условные операторы, как показано ниже.

Примечание: model.hint устанавливается для модели с использованием R.string.hint_of_some_input в качестве типа Integer

  <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/til"
        style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@{model.hint==R.string.empty ? model.hintAsString : model.hint}"

Я установил значение hint пустым, когда hintAsString извлекается из бэкэнда, поэтому я думал, что смогу достичь своей цели. Он прекрасно отображает страницу, когда регистр hintAsString , но генерирует ошибку (java.lang.Integer cannot be cast to java.lang.CharSequence) при отображении страницы с входными данными, используя подсказку из ресурсов. Ошибка настолько значима, но есть ли возможность обработать этот случай без создания нового компонента?

...