在资源文件中动态替换字符串的解决方法可以使用占位符或者字符串模板的方式。下面是两种常见的实现方式的代码示例:
使用占位符:
在资源文件中定义一个占位符,然后在代码中动态替换占位符为实际的值。
资源文件(strings.xml):
<string name="welcome_message">欢迎,%s!</string>
Java 代码:
String name = "张三";
String welcomeMessage = getResources().getString(R.string.welcome_message);
String formattedMessage = String.format(welcomeMessage, name);
textView.setText(formattedMessage);
使用字符串模板:
在资源文件中定义一个带有占位符的字符串模板,然后在代码中使用字符串模板的方式替换占位符为实际的值。
资源文件(strings.xml):
<string name="welcome_message">欢迎,${name}!</string>
Java 代码(使用 Apache Commons Text 库):
String name = "张三";
String welcomeMessage = getResources().getString(R.string.welcome_message);
StringSubstitutor substitutor = new StringSubstitutor(ImmutableMap.of("name", name));
String formattedMessage = substitutor.replace(welcomeMessage);
textView.setText(formattedMessage);
以上是两种常见的解决方法,其中使用占位符的方式更为常见和简单,而使用字符串模板的方式则可以提供更灵活的替换方式。