是否可以直接在Android资源XML文件中进行字符串替换? [英] Is it possible to do string substitution in Android resource XML files directly?
问题描述
在我的android应用中,我有一个很大的字符串资源xml文件.我想引用并在String值内重用已声明的资源值.是否可以让R类解析引用的值(例如@ string/db_table_name)?
In my android app, I have a large string resource xml file. I want to make reference and reuse declared resources values within String values. Is it possible to have the R class resolve referenced values (a la @string/db_table_name)?
<resources>
<string name="db_table_name">tbl_name</string>
<string name="ddl">create table @string/tbl_name</string>
</resources>
有没有办法做到这一点.在常规Java世界中,某些工具使用$ {varname}表达式来解析引用.可以在Android中完全做到这一点吗?
Is there a way of doing this. In regular Java world, some tools use ${varname} expression to resolve reference. Can this be done at all in Android?
推荐答案
在要修改的第二个资源字符串(您要动态创建的字符串)中添加一个%s.即
Add a %s to your second resource string (the one that you want to be dynamic) where you want it to be modified. i.e.,
<resources>
<string name="db_table_name">tbl_name</string>
<string name="ddl">create table %s</string>
</resources>
并在您的代码中使用getString()发挥作用,
and in your code use getString() to work the magic,
getString(R.string.ddl, getString(R.string.db_table_name));
这篇关于是否可以直接在Android资源XML文件中进行字符串替换?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!