是否可以直接在Android资源XML文件中进行字符串替换? [英] Is it possible to do string substitution in Android resource XML files directly?

查看:333
本文介绍了是否可以直接在Android资源XML文件中进行字符串替换?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆