string.xml中使用%1$s

来源:互联网 发布:如何与网络管理员联系 编辑:程序博客网 时间:2024/06/15 08:50
<string name="download_progress_description">%1$s(%2$s/%3$s)</string>
赋值:
textView.setText(String.format(getString(R.string.download_progress_description), 1,2,3));

显示:  

1(2/3)

项目中用到了上面这个,记一下用法,超神奇的
根据不同值有三种写法:
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00
可以简写为:

%d (整数)

%f (浮点数)

%s (字符串)


还有这样的:

<string name="str_group_list_desc_unjoin" formatted="false">%1$s人</string>

里面加了一个formatted = "false" 

他的意思就是:

如果你string里面有%在编译的时候它会格式化数据 这样的话%就是错误的 你必须用%%这样它格式化后就是一个% 

 或者加转义字符 这样的话编译就不会出错了 如果你加了 formatted="false"的话 就是告诉编译的时候不用格式化

 直接用自己写的字符 这样的话一个%就不会报错了

原创粉丝点击