2012-08-09 98 views
1

我正在構建一個android應用程序和 我有一個巨大的類別列表(〜50)顯示給用戶,我目前使用AutoCompleteTextView爲它允許用戶選擇。如何顯示類別和子類別的巨大列表?

但我的問題是,我也有一個巨大的列表(每個類別〜10),我必須顯示並讓用戶選擇一個子類別,子類別必須基於選定的類別顯示。

因此,除了編寫一個巨大的switch-caseif-else塊,我該怎麼做?

我不是很確定,但是可以反射來檢查的字段,然後獲取包含子類別的資源ID嗎?假設我使用正確的命名約定當然。

回答

1

這是我從@ Jordi的回答中得到靈感的改進。

使用正則表達式的力量我在巨大的XML文件中做了一些修改。

該想法是創建一個java.util.Map<String,String[]>,鍵是類別和值是子類別。

所以我可以通過map.keySet()得到類別列表,然後根據用戶選擇 我可以做map.get(selection)來獲取子類別列表。

+0

你可以根據這個提出一個樣本嗎?請。 – prashantwosti 2014-02-23 06:41:35

+0

@prashant:對不起,自從我編寫代碼以來,已經超過17個月了,我幾乎不記得我寫這個問題的上下文。所以不,我不認爲我可以給你一個樣本:-( – Gautam 2014-02-25 02:14:17

1

我不認爲你應該使用佈局文件中的所有類別和子類別來實現這一點。我會通過Java代碼生成佈局,這樣我就可以輕鬆添加一些聰明的技巧。

例如,您可以通過編程添加「標籤」值,以幫助您識別所選項目。

+0

請您詳細說明一下簡碼示例嗎? – Gautam 2012-08-09 12:00:33