Возможно ли в (android) xml-ресурсе android: text иметь переменную точность формата float? - PullRequest
0 голосов
/ 03 декабря 2018

Имея такой текстовый ресурс

<string name="list_item_station_detail_current_price_price_text">%1$.2f</string>

Используется в XML-макете, подобном этому

android:text="@{@string/list_item_station_detail_current_price_price_text(currentPrice.price)}"

Моя проблема в том, что точность не всегда 2 цифры (%1$.2f), это может быть переменной.Есть ли хитрый способ исправить это, может быть, вложенные строки или что-то еще?

1 Ответ

0 голосов
/ 03 декабря 2018

Настройка массива строк, в котором каждая запись представляет различную точность.

<string-array name="list_item_station_detail_current_price_price_text">
    <item>%1$.2f</item>
    <item>%1$.3f</item>
    <item>%1$.4f</item>
</string-array>

В XML определите текст для TextView следующим образом:

   android:text="@{String.format(@stringArray/list_item_station_detail_current_price_price_text[currentPrice.precision],currentPrice.price)}"

IПредположим, что вы имеете или можете создать переменную с точностью.

На основе точности выбирается соответствующая строка.(Точность 2 соответствует индексу 0, 3-> 1, 4-> 2). Цена является аргументом для выбранной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...