0

我有类似以下自定义 XML 的内容res/xml/widgets.xml

<?xml version="1.0" encoding="utf-8"?>
<root>
  <widget name="car" color="mauve">Car Name: @string/car_name</widget>
</root>

res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="car_name">Ford Model-T</string>
</resources>

由于我使用getResources().getXml()手动解析 XML,嵌入的字符串@string/car_name不会被 Android 自动取消引用。我自己怎么做(没有很多烦人的反射代码)?也就是说Car Name: Ford Model-T,假设我已经Car Name: @string/car_name使用 XMLPullParser 进行了解析,我想要一个返回字符串的方法。当然,Android 本身使用的方法是可见的。

4

1 回答 1

1

搜索您的 XML 字符串,找到每个 @string/str_name ,然后str_name通过以下方式找到相关字符串:
String relatedString = getString(getResources().getIdentifier("str_name", "string", getPackageName()));
然后替换@string/str_namerelatedString

完毕!

于 2013-07-24T16:17:08.040 回答