Объединить локализованную строку и динамическую строку, используя DataBinding в Kotlin XML - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть TextView в моем фрагменте XML, который должен объединить строку из моего strings.xml файла с динамической строкой.Первоначально я пытался:

android:text='@{"@string/courses.finalGrade" + ": " + course.grade + "%"}'

Предварительный просмотр этого работает, как ожидалось, я вижу строку в формате: Final Grade: 90%.

Но когда всимулятор, он печатает @string/courses.finalGrade: 95%

Есть ли способ объединить строку из файла strings.xml И динамическую строку во фрагменте xml?

1 Ответ

0 голосов
/ 12 сентября 2018

Привязка данных Android поддерживает форматирование строк. Если вы определите свой текстовый ресурс как:

<string name="some_text_id">"Some text about final grade: %1$s"</string>

Затем вы можете использовать этот текстовый ресурс с привязкой данных, как

android:text="@{@string/some_text_id(course.grade)}"

Это будет то же самое, что программно использовать String.format (...).

...