【Android】string.xml占位符

  • Post author:
  • Post category:其他




在strings.xml中
<string name="string_test_1">数字:%1$d ;字符:%2$s ;浮点:%3$.2f</string>

在Activity中

String testStr = getResources().getString(R.string.string_test_1);
String result = String.format(testStr,123,"测试",1.234);
System.out.println(result);

也可以

String result = getResources().getString(R.string.string_test_1,123,"测试",1.234);

打印结果:

数字:123;字符:测试 ;浮点:1.234

说明:

%N代表第N个参数,如%3代表的是第三个参数;

$是结束符;

d/s/.2f代表的是整数/字符串/保留2位小数点的浮点数



array-string 也可以

在strings.xml或另外起一个array.xml

<array name="list">
        <item name = "item1">我是列表1,值为%1.2f</item>
        <item name = "item2">我是列表2,值为%1.2f</item>
        <item name = "item3">我是列表3,值为%1.2f</item>
 </array>


在Activity中
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



版权声明:本文为q635361548原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。