android的string.xml中的%s、%1$s、%d、%
主目录:Android学习大纲
背景:在我们app开发的过程中我们有时候会遇到,一个TextView里面会遇到会有一个一大串固定的文字,而里面的数字或者个别字需要根据后台的接口而展示的。
这个时候我们最简单的方法就是在string.xml文件里 使用 %s、%1$s、%d、%1$d,而在页面展示的时候我们只需要将真实展示的文字或者数据替换掉这些占位符就OK啦!
1.%1$s表示替换的为String类型
2.%1$d表示替换的为int类型
注:数字表示替换字符串中要替换的位置,若一个字符串要替换两个int类型,在替换位置分别 写%1$d和%2$d.
%s 、%d为缩写方式,只替换一个位置,可以这么写
替换方式
例一:
1.在strings.xml中定义
<string name="tips">确定要删除亲友%s吗?</string>
2.在类中调用
String.format(mActivity.getResources().getString(R.string.tips),"张三"))
输出结果就会拼接上。
输出结果:确定要删除亲友‘张三吗?
例二:
1.在strings.xml中定义
<string name="tips">该股票近期的价格为%d元。</string>
2.在类中调用
String.format(mActivity.getResources().getString(R.string.tips),10))
输出结果就会拼接上。
输出结果:该股票近期的价格为10元。
例三:
1.在strings.xml中定义
我叫%1$s,我%2$s贼溜,我段位王者%3$d,不信可以%4$s一起玩!
2.在类中调用
String.format(mActivity.getResources().getString(R.string.tips),"张三“,”吃鸡“,1,”晚上“))
输出结果就会拼接上。
输出结果:我叫张三,我吃鸡贼溜,我段位王者1,不信可以晚上一起玩!