拥有类似的文本资源
<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
(,它可能是可变的。有没有一个聪明的技巧来解决这个问题,也许是嵌套字符串,或者其他什么?
设置一个字符串数组,其中每个条目表示不同的精度。
<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)}"
我假设您已经或可以创建一个具有精度的变量。
根据精度,选择适当的字符串。(2的精度映射到索引0,3->1,4->2(price是所选字符串的参数。