不得不佩服android studio强大,以前写代码只关注了是否拼写出错,现在根据studio的提示去操作,发现string.xml还可以写占位符!!!这下可以方便我对所有带参的文字的统一管理了。
写一个简单的案例。
在strings.xml中写入
学号:%1
d
;
姓
名
:
d ;姓名:%2
d;姓名:s ;成绩:%3$.2f
在Activity.java中写入
String testStr = getResources().getString(R.string.string_test_1);
String result = String.format(testStr,1001,“张三”,9.235);
System.out.println(result);
打印结果为:
学号:1001 ;姓名:张三 ;成绩:9.24
这里要说明的是strings.xml中,
%N代表第N个参数,如%3代表的是第三个参数;
$是结束符;
d/s/.2f代表的是整数/字符串/保留2位小数点的浮点数
延伸拓展
array-string 也可以使用占位符,如下,在strings.xml或另外起一个array.xml,写入:
我是列表1,买身价为%1.2f元 我是列表2,买身价为%1.2f元 我是列表3,买身价为%1.2f元然后在Activity,java中写入:
String[] arr = getResources().getStringArray(R.array.list);
for (int i = 0;i<arr.length;i++){
String temp = arr[i];
arr[i] = String.format(temp,10.35*(i+1));
}
System.out.println(arr[0]+" | “+arr[1]+” | "+arr[2]);
打印结果为:
我是列表1,买身价为10.35元 | 我是列表2,买身价为20.70元 | 我是列表3,买身价为31.05元
以上是我的个人观点,欢迎大家来指正。
作者:yy0981aa
来源:CSDN
原文:https://blog.csdn.net/u011544271/article/details/51863857
版权声明:本文为博主原创文章,转载请附上博文链接!