2015-10-27 46 views
-1

在strings.xml檔案有幾個字符串數組,例如:使用一個getStringArray調用不同的字符串數組

<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); 

這怎麼能做到?

+0

'getResources()。則getIdentifier(則strName, 「陣列」,getPackageName())' – Blackbelt

+0

字符串[] selectedSubList = getResources()。getStringArray(R.array。 T1); – juankirr

回答

1

可以使用getIdentifier()方法

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

我得到:java.lang.NullPointerException:嘗試調用虛方法'java.lang.String [] android.content.res.Resources.getStringArray(int)'null對象引用 –

+0

'res'爲null。我編輯了我的代碼。 – ThomasThiebaud

相關問題