"单个红包金额不低于0.01元,不高于200元"
在项目中有许多如上所示的字符串中夹杂着数字的文字,并且这些数字的类型不同(float,int),并且是通过服务端获取的数字,那么咱们如何巧妙而又优雅的变化这些数字或者文字呢?
首先介绍介个代表:
%d (表示整数)
%f (表示浮点数)
%s (表示字符串)
可以在工具类中写上可变参数的方法:
public static String getString(int id,Object... args){
return String.format(context.getResources().getString(id), args);
}
其中args为变参数,也就说在这个字符串中可以有多处按照顺序进行替换,id为封装的R.string.xxx内容;用起来是不是很方便啊
Utils.getString(R.string.rp_range_money,sendRpUIUtil.getRpConfigBean().getSingle_envelope())
"单个红包金额不低于%f元,不高于%d元"
比如我举的例子中:
Utils.getString(R.string.rp_range_money,sendRpUIUtil.getMinValue,sendRpUtil.getMaxValue());
那么动态获取到的最大值和最小值都会依次替换string中的数值。同样%s也是一样使用。
注意:将这些字符串都归类写到string.xml中,并配置好%s、%d和%f 依次获取对应的值