在开发中,会有动态配置字符串其中的某些字符,如何使用字符中的占位符,并且在代码动态替换占位符实现动态配置字符串!
1.定义字符串时,再string文件添加字符串:
注意!记得要在字符文件中加上这些:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="text1">i am %1$d years old, i am a %2$s</string>
属性值定义如下:
%n$m[d/f/s] 表示 第n个参数,前面有m个空格(0m表示有m个0,浮点数k.m,表示小数点前保留k位,小数点后保留m位),d为整数,f为浮点数,s为字符串。
2.在代码中使用:
String text1 = Context.getResources().getString(R.string.text1);
//注意,Andorid中的Context.getString()与Context.getResources().getString()是一样的,详细可看Context源码0.0
String text2 = String.format(text1,25,"engineer");//"i am 25 years old, i am a engineer"
使用String.format()方法,第一个参数为字符串,后面依次为替换占位符的字符串。