在我们的日常开发中,总会遇到TextView展示一个文本,而文本中的部分内容是需要动态变化的(如从服务器端获取),也许你会使用代码中字符串拼接的方式完成,当然这种方法也是可以的。如果你想让你的代码更加的优雅,不妨试试使用占位符的方式。
占位符
为了更优雅的完成上述的问题,我们可以在strings.xml文件里,使用%s
%1$s
%d
%1$d
这些占位符,在页面设置展示的时候我们只需要将真实展示的文字或者数据替换掉就OK了。
占位符 | 类型 |
---|---|
%s |
替换String类型 |
%1$s |
替换String类型 |
%d |
替换int类型 |
%1$d |
替换int类型 |
注:%s 、%d为缩写方式,只替换一个位置,可以这么写
单一占位符使用
-
在strings.xml定义字符串
<string name="str">截止目前你已经消费了人民币%s元</string>
-
在类中使用
String.format(mActivity.getResources().getString(R.string. str),"9999"))
最终的输出结果:截止目前你已经消费了人民币9999元
多个占位符使用
-
在strings.xml中定义
<string name="str">大家好,我叫%1$s,我的爱好是%2$s,%3$s是我最喜欢的明星,如果有机会我想对他说一句:%4$s</string>
-
在类中使用
String.format(mActivity.getResources().getString(R.string. str), "Wit","篮球", "kobe", "你还好吗"))
最终的输出结果:大家好,我叫Wit,我的爱好是篮球,kobe是我最喜欢的明星,如果有机会我想对他说一句:你还好吗
简单的一个方法就可以让你的代码更加优雅,不妨去试试吧!!! 当然如果你使用的kotlin开发项目,kotlin中支持字符串模版,使用起来更加简单。
网友评论