2015-03-13 186 views
2

我正在嘗試創建可擴展列表視圖。其中有菜單 - 子菜單和子菜單子菜單的格式,然後是項目。也很少有菜單沒有子菜單。Android中的可擴展列表視圖

所有這一切都在導航抽屜(側面菜單)...

我reffering到這樣的事情:

enter image description here

的問題是:

  1. 我該怎麼辦實現這種設計?將可擴展列表視圖幫助實現這一目標嗎?

  2. 還有其他建議嗎?

謝謝!

+1

http://www.androidhub4you.com/2014/07/android-multilevel-expandable-listview.html - 檢查這...希望它有助於給你一些想法 – 2015-03-13 09:25:12

+0

我希望在抽屜式導航欄上實現這個功能嗎? – TheDevMan 2015-03-13 09:32:31

+0

對於getchildview()中的可擴展適配器,您必須實現新的可擴展listvieew。 – 2015-03-13 09:46:08

回答

0

你需要做的是創建某種樹數據結構並存儲你的項目。

節點將是您的部分和子部分,同時生成實際數據。這將允許您跟蹤每個項目的可見性狀態(基本上如果它處於展開或收起的部分)

然後創建一個包含2個視圖類型的適配器:CategoryItem。 它的getItemViewType方法應該返回Item類型爲每個leafCategory爲每個node。 其getCount應返回所有部分+小節+項目的總數。 其getView應根據其類型返回實際視圖,但重要的是檢查它是否包含在擴展(!和可見 - 您需要遞歸檢查)部分,並相應地將它的visibility設置爲要麼是VISIBLE要麼是GONE。 它的onItemClicked應該在節的展開和摺疊之間切換其狀態。一個Sections對象應該有一個方法可以告訴你它是否被擴展,如果它是可見的(如果父類是擴展的,或頂級,..)

對不起,沒有代碼在這裏,這應該會幫助你得到一個想法,我急於寫一些例子(它需要相當多的代碼)