【问题标题】:Using one getStringArray call to different String arrays对不同的字符串数组使用一次 getStringArray 调用
【发布时间】:2015-10-27 11:52:06
【问题描述】:

在strings.xml文件中有几个String数组,例如:

<string-array name="T1"> //demolitionHammers
    <item>Makita HM1200K</item>
    <item>Makita HM1202C</item>
    <item>Bosch GSH 5E</item>
    <item>Bosch GBH 11DE</item>
</string-array>

<string-array name="T2"> //diamondDrills
    <item>Makita DBM080</item>
    <item>Bronco BDD150A</item>
</string-array>

<string-array name="T3"> //groundDenser
    <item>Shatal PC2016</item>
</string-array>

在 Java 文件中,我有一个带有所需数组名称的字符串变量,例如(所需数组将根据其他活动确定,并且每次都会不同):

String strName = "T2";

问题是我现在不能使用以下调用来获取特定的字符串数组:

String[] selectedSubList = res.getStringArray(R.array.strName);

如何做到这一点?

【问题讨论】:

  • getResources().getIdentifier(strName, "array", getPackageName())
  • String[] selectedSubList = getResources().getStringArray(R.array.T1);

标签: android xml string


【解决方案1】:

你可以使用getIdentifier()方法

Resources res = context.getResources();
int resId = res.getIdentifier(strName, "array",context.getPackageName());
String[] selectedSubList = res.getStringArray(resId);

【讨论】:

  • 我得到:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'java.lang.String[] android.content.res.Resources.getStringArray(int)'跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 2018-06-19
  • 2013-08-15
相关资源
最近更新 更多