2013-10-07 34 views
0

我的應用程序的任何用戶都可以創建一個新的「主題」併爲其選擇一個圖標(從我定義/提供的圖標集中)。有一個ImageButton顯示當前選定的圖標或默認圖標,當用戶點擊它時,會彈出一個帶有gridview的彈出窗口,允許用戶將該圖標更改爲任何他認爲很好的圖標。保留可繪製引用列表的最佳方法是什麼?

要做到這一點,我需要一個數組或可用於選擇的圖標列表,以便使網格視圖脫離它們。

我能想到的最佳解決方案是創建一個指向這些圖標的全局數組/字符串列表,但我不確定它有多好。

使用數據庫是一個不好的選擇,因爲每次需要使用圖標時都需要時間來重新查詢,而且效率不高。

另一種選擇是將所有的drawable從一個文件夾中取出到一個數組中,但也可能包含不需要的drawable。

所以我的問題是什麼纔是真正做到這一點的最佳方式?

+0

SparseIntArray的單例? – Zyoo

回答

0

我在我的一個應用程序中處理了這個命名,給每個圖標命名並給它一個數字。 image1.png,image2.png等

然後我用它來檢索我想要的圖像。

public Drawable GetIcon(Context c, Integer ImageId) { 
    return c.getResources().getDrawable(c.getResources().getIdentifier("image" + Integer.toString(ImageId), "drawable", c.getPackageName())); 
} 

這樣我只需要知道我想要的drawable的索引。

相關問題