android string.xml中使用占位符

不得不佩服android studio强大,以前写代码只关注了是否拼写出错,现在根据studio的提示去操作,发现string.xml还可以写占位符!!!这下可以方便我对所有带参的文字的统一管理了。

写一个简单的案例。

在strings.xml中写入

<string name="string_test_1">学号:%1$d ;姓名:%2$s ;成绩:%3$.2f</string>

在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,写入:

<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,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元



以上是我的个人观点,欢迎大家来指正。



  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值