2016-07-18 62 views
1

我有自定義ListView,每個項目包含兩個圖標,文字,說明等。它是靜態數據,但我有幾個要顯示的列表。存儲最終列表數據的最佳做法

在那一刻,我保存這一切最終ArrayList S,這樣的:

public static final int ACTION_MAIN = 1; 
    public static final int ACTION_LEFT = 2; 
    private static final List<ModelMenu> list = new ArrayList<ModelMenu>(){{ 
    add(new ModelMenu(ACTION_MAIN , R.drawable.icon_main, R.drawable.image_main, R.string.main, R.string.main_description, false)); 
    add(new ModelMenu(ACTION_LEFT , R.drawable.icon_left, R.drawable.image_left, R.string.left, R.string.left_description, false)); 
    }}; 

比傳遞到List適配器。在這種情況下,我使用常數ACTION_MAIN, ACTION_LEFT,等。將其設置爲像view id,並用它來了解哪個項目被點擊了OnItemClickListener作者:view.getId()

可以嗎?或者更好用於前。 XML like done here

更新0:發現one more選項,但在這種情況下,我們需要保持爲了使所有資源...

或任何其他選項最好?

更新1: 找到另一種方式來拯救行動:

<resources> 
    <item type="id" name="menu_home"/> 
    <item type="id" name="menu_login"/> 
</resources> 
+1

如果我你在哪裏我會去與吉森或傑克遜的Json數據。通過這種方式,您可以使用傳統的Pojo並構建清潔的數據模型 –

+0

@ An-droid,我的理解是正確的:以json格式保存資產中的文件,然後通過Gson獲取資產並進行解析? – user5599807

+0

是的,這是一種做法 –

回答

0

當改性劑是final您不能修改一個變量的值。

檢查this,這是使用自定義適配器和BaseAdapter的extendig填充ListView的示例。

希望得到這個幫助。

+0

謝謝,我不想改變它。它的項目設置,如菜單,但菜單不允許存儲自定義擴展。所以,它的問題:我需要存儲項目設置(鏈接到資源\ images \ texts \ ext) – user5599807