android - (android) xml 资源 android:text 中是否有可能具有可变格式的浮点精度?
问题描述
拥有这样的文本资源
<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)价格是所选字符串的参数。
推荐阅读
- ios - 如何在带有文本视图的 ForEach 内编辑作为 NavigationLink 标签一部分的数组元素属性?
- firebase-analytics - 新的 Firebase 受众传播到远程配置需要多长时间?
- algorithm - nlogn 是否与 n^2logn^2 相同
- c - 错误:在此函数中使用了未初始化的“fp”[-Werror=uninitialized]
- javascript - React 如何使用 useEffect 和 useCallback 重新渲染状态挂钩?
- python - 如何在 Django url 模板标签中传递页面参数?
- machine-learning - 时序神经网络推理标准
- aws-lambda - 提供的关键元素与 DynamoDB 中的架构错误不匹配
- python - 如何从 Subjects 模型中获取对象的 id?
- caching - 我怎么知道缓存中有什么结果?是否有 account_usage 或 information_schema 视图显示我在缓存中放了多少或什么?