关于动态替换字符串资源的一点实践

本文介绍了一种在应用程序中实现字符串动态替换的方法。通过使用特定格式的字符串资源,并结合Formatter类的功能,可以轻松地将变量值插入到字符串模板中,实现灵活的国际化文本展示。

关于动态替换字符串资源,在网上看到的一部分写法都不好用,就自己实验了一下


举例:

<string name="hello_world">确定花费%1$.1f元购买\n \"%2$s\"商品%3$d个吗?</string>


动态替换:

String data = getString(R.string.hello_world, 45.2f, "10kg大米", 500);


结果是:

确定花费45.2元购买
"10kg大米"商品500个吗?


其实就是下面这个方法

public final String getString (int resId,Object... formatArgs)
Added in API level 1

Return a localized formatted string from the application's package's default string table, substituting the format arguments as defined inFormatter and format(String, Object...).

Parameters
resIdResource id for the format string
formatArgsThe format arguments that will be used for substitution.  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值