2014-03-01 58 views
0

我想爲每個gridview元素加載圖像,但它只加載了gridview所有元素的最後一張圖像。我該如何解決它?我的例子形象像a50.jpg在GridView中使用getView方法詢問

這裏是我的代碼:

for (int i = 0; i < items.size(); i++) { 
    String s = Integer.valueOf(items.get(position).id_of_field).toString(); 
     int resourceId = context.getResources().getIdentifier("a" + s + i, 
       "drawable", context.getPackageName()); 
     view.ivTowar.setImageResource(resourceId); 
    } 

回答

0

getView方法要爲特定的要素創建View,而不是在所有的所有元素。所以正確的代碼不應該包含for循環。

編輯正確的代碼應該是這樣的,沒有for環(和你正試圖再次解析字符串爲整數,然後得到一個字符串):

String s = items.get(position).id_of_field; 
int resourceId = context.getResources().getIdentifier("a" + s + position, 
      "drawable", context.getPackageName()); 
view.ivTowar.setImageResource(resourceId); 
+0

你可以給我一個例子,我怎麼能做到嗎? – user3310883

+0

你能指定你想要做什麼嗎?你爲什麼試圖通過'「a + s + i'做出一個名字? – nikis

+0

是的,當然。我的圖像命名爲a51.jpg其中a是一個簡單的字符串s是類別id的值看這個String s = Integer.valueOf(items.get(position).id_of_category).toString();我是類別的項目列表的迭代器list.size() – user3310883

0

position已經給人一種位置正在查看的單元格。刪除你的循環。對於代碼和有關自定義GridView的細節遵循this

或谷歌很好的教程

+0

沒有陣列,我可以讓它更難吃嗎? – user3310883

+0

是的,只有當你可以動態地計算你的數據/(圖像名稱),所以你不需要使用任何數據結構來保存你的數據/(圖像名稱) – Mobi

相關問題