android - 離線地圖的這種列表該怎么實(shí)現(xiàn)?
問題描述
就是下圖這種列表,前兩個(gè)分組為單層的,其他身份的為雙層的,想了好久沒想通,只能來請教各位了...
問題解答
回答1:github上很多expandableListView的庫可以找找有沒有合適的,不過單純用recyclerView也能實(shí)現(xiàn),adapter里面分3種trpe,標(biāo)題(熱門省份等),次標(biāo)題(山東省等),具體省份。
點(diǎn)擊擴(kuò)展列表可以直接插入數(shù)據(jù)然后用adapter.notifyItemIntert()來刷新列表
回答2:推薦兩個(gè)庫https://github.com/zaihuishou...https://github.com/bignerdran...感覺單層的點(diǎn)擊效果可以單獨(dú)處理,直接下載地圖,雙層的展開,二級菜單下載地圖
回答3:我以前簡單寫過。自己定義一個(gè)簡單的樹形結(jié)構(gòu),里面記錄了子節(jié)點(diǎn)、本節(jié)點(diǎn)的層數(shù)、是否要展示本節(jié)點(diǎn)的子節(jié)點(diǎn) 和本節(jié)點(diǎn)是否為葉節(jié)點(diǎn),根據(jù)這些來判斷itemType(比如 是葉節(jié)點(diǎn)的話點(diǎn)擊是下載地圖,非葉節(jié)點(diǎn)的話是展開下一級列表),不過每次點(diǎn)擊都要觸發(fā)一次notifyDataSetChanged(),我感覺不大好。
Android 打造任意層級樹形控件 考驗(yàn)?zāi)愕臄?shù)據(jù)結(jié)構(gòu)和設(shè)計(jì) hongyang大神曾經(jīng)寫過一篇類似的文章,不過他是用的線性表存的
想了一下還是很多坑,默默坐等大神
回答4:推薦的開源recyclerview https://github.com/bignerdran...定義樹形結(jié)構(gòu)├─ItemStructure│ ├─ItemParent│ │ ├─ItemChildrens│ │ │ ├─ItemChildren1│ │ │ ├─ItemChildren2│ │ │ ├─ItemChildren3│ │ │ ├─.............ItemStructure作為Item的整個(gè)結(jié)構(gòu),ItemParent作為Item可下拉的部分,ItemChildrens作為最子層可下載的內(nèi)容。通過ViewType分類HeaderView、ItemParent、ItemChildrens列表
相關(guān)文章:
1. docker不顯示端口映射呢?2. docker內(nèi)創(chuàng)建jenkins訪問另一個(gè)容器下的服務(wù)器問題3. vim - docker中新的ubuntu12.04鏡像,運(yùn)行vi提示,找不到命名.4. docker-compose 為何找不到配置文件?5. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?6. debian - docker依賴的aufs-tools源碼哪里可以找到啊?7. docker gitlab 如何git clone?8. mac連接阿里云docker集群,已經(jīng)卡了2天了,求問?9. docker-compose中volumes的問題10. docker api 開發(fā)的端口怎么獲取?
