2011-08-19 290 views
1

可怕的標題道歉,但想不到一個更好的。所以我有很多字符串數組在我的strings.xml文件中。我希望能夠通過將我的意圖資源ID(例如R.array.mystringarray)作爲字符串傳遞給我,然後在我的類中使用此字符串來獲取我的String []。這是我迄今試圖給你什麼,我在Categoris.class試圖如何引用字符串是一個字符串數組資源是id?

Intent intent = new Intent(Main.this, Categories.class); 
intent.putExtra("category", "R.array.Categories"); 
startActivity(intent); 

然後一個更好的主意:

myArrayID = (String) bundle.get("category"); 
myArray = getResources().getStringArray(myArrayID))); 

是我的方法甚至可能嗎?或者有另一種我忽略的方式。第一個應用程序,仍然在學習繩索

編輯 - 對不起,我的頭今晚炸,我完全糊塗在這裏。我已經重新編寫的問題 - Converting "R.id.myID" from a String to the int value R.id.myID?

回答

2

不知道爲什麼你要做到這一點,但你可以直接通過INT ID:

Intent intent = new Intent(Main.this, Categories.class); 
intent.putExtra("category", R.array.Categories); //R.array.Categories is an int value 
startActivity(intent); 

然後..

int myArrayID = bundle.getIntExtra("category", 0); 
myArray = getResources().getStringArray(myArrayID))); 
+0

老實說,我覺得這麼愚蠢的哈,我發佈這個問題後發佈了這個。不過謝謝 – Shane

0

在Categoris.class

String myArrayID[]; 
myArrayId=bundle.getStringArray("category"); 
-2

沒有太多的答案試試這個,但是這是正確的:看getStringArray。你會想要正確地施放它,但是否則你是對的。

+0

資源getStringArray()方法接受一個int作爲輸入。如果她想使用String,她需要使用Bundle的getStringArray()方法。 – glorifiedHacker

+0

不,「Bundle.getStringArray」不返回資源數組。被放入Intent extra的類型是不正確的,但我列出的IS的選擇方法是正確的。不知道爲什麼downvotes,但我支持我指出的方法。 – Femi

相關問題