如何从两个不同的文件中访问相同的资源ID。 Java中的示例:
public final class Strings_v1 {
String one = "AAAA";
String two = "BBBB";
String three = "CCCC";
}
public final class Strings_v2 {
String one = "DDDD";
String two = "EEEE";
String three = "FFFF";
}
现在我可以访问Strings_v1.one
和Strings_v2.one
是否可以在XML中执行相同操作?
答案 0 :(得分:1)
最接近这种方法的方法是使用字符串数组。例如,您可以使用以下命令定义资源文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array
name="strings_v1">
<item>AAAA</item>
<item>BBBB</item>
<item>CCCC</item>
</string-array>
<string-array
name="strings_v2">
<item>AAAA</item>
<item>BBBB</item>
<item>CCCC</item>
</string-array>
</resources>
然后,在您的Java代码中,您必须在使用它之前获取整个数组:
Resources res = getResources();
String[] strings_v1 = res.getStringArray(R.array.strings_v1);
String[] strings_v2 = res.getStringArray(R.array.strings_v2);
//Assuming an array of textViews
ActivityManager activityMgr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for(int i = 0; i<3; ++i)
(activityMgr.isUserAMonkey())? textView[i].setText(strings_v1[i]) : textView[i].setText(strings_v2[i]);
你能解释一下你为什么要这样做,因为可能有不同的方法来解决这个问题吗?