string.xml中使用%1$s

xiaoxiao2021-02-28  32

<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"的话 就是告诉编译的时候不用格式化

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

转载请注明原文地址: https://www.6miu.com/read-250332.html

最新回复(0)