2011-03-15 19 views
0

好了,所以在這裏我的問題,我 有一個項目,當用戶點擊一個,它被添加到一個共享的首選項文件看起來像這樣的列表:<map> <string name="Some Name">R.drawable.somename</string> </map>Android的動態添加從XML圖像轉換成gridview的

使用驗證碼:

prefEdit.putString(title[position],imgString[position]);       
       prefEdit.commit(); 

我想要做的就是地方R.drawable.somename從XML文件轉換成網格視圖圖像代替:

 private Integer[] mThumbIds = { 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation 
    }; 

目前,用戶最多可以選擇130個不同的項目,他們可以添加到網格視圖。

有什麼建議嗎?

回答

0

只需要xml存儲基本名稱(「somename」,「archery」,「aviation」)就更好了。然後你可以得到這個id。

int id = getResources().getIdentifier("archery", "drawable", getPackageName()); 

在這個例子中,如果你的drawable是R.drawable.archery,那麼id would = R.drawable.archery。您可以將這些字符串存儲在xml中並以這種方式獲取ID。

+0

對不起,我必須有太多的事情在我的腦海事業事情我還是無法弄清楚我是如何從'<字符串名稱=「射箭」射箭獲得'在我喜歡的文件爲int'ID = getResources ().getIdentifier(「archery」,「drawable」,getPackageName()); ' – 2011-03-15 15:43:35

+0

計算出來了謝謝:'String Archery = mPref.getString(「Archery」,「」); int IntArchery = getResources()。getIdentifier(Archery,「drawable」,getPackageName()); private Integer [] mThumbIds = { IntArchery};' – 2011-03-15 18:15:59