android - 離線地圖的這種列表該怎么實現(xiàn)?
問題描述
就是下圖這種列表,前兩個分組為單層的,其他身份的為雙層的,想了好久沒想通,只能來請教各位了...
問題解答
回答1:github上很多expandableListView的庫可以找找有沒有合適的,不過單純用recyclerView也能實現(xiàn),adapter里面分3種trpe,標題(熱門省份等),次標題(山東省等),具體省份。
點擊擴展列表可以直接插入數(shù)據(jù)然后用adapter.notifyItemIntert()來刷新列表
回答2:推薦兩個庫https://github.com/zaihuishou...https://github.com/bignerdran...感覺單層的點擊效果可以單獨處理,直接下載地圖,雙層的展開,二級菜單下載地圖
回答3:我以前簡單寫過。自己定義一個簡單的樹形結(jié)構(gòu),里面記錄了子節(jié)點、本節(jié)點的層數(shù)、是否要展示本節(jié)點的子節(jié)點 和本節(jié)點是否為葉節(jié)點,根據(jù)這些來判斷itemType(比如 是葉節(jié)點的話點擊是下載地圖,非葉節(jié)點的話是展開下一級列表),不過每次點擊都要觸發(fā)一次notifyDataSetChanged(),我感覺不大好。
Android 打造任意層級樹形控件 考驗你的數(shù)據(jù)結(jié)構(gòu)和設(shè)計 hongyang大神曾經(jīng)寫過一篇類似的文章,不過他是用的線性表存的
想了一下還是很多坑,默默坐等大神
回答4:推薦的開源recyclerview https://github.com/bignerdran...定義樹形結(jié)構(gòu)├─ItemStructure│ ├─ItemParent│ │ ├─ItemChildrens│ │ │ ├─ItemChildren1│ │ │ ├─ItemChildren2│ │ │ ├─ItemChildren3│ │ │ ├─.............ItemStructure作為Item的整個結(jié)構(gòu),ItemParent作為Item可下拉的部分,ItemChildrens作為最子層可下載的內(nèi)容。通過ViewType分類HeaderView、ItemParent、ItemChildrens列表
相關(guān)文章:
1. javascript - SuperSlide.js火狐不兼容怎么回事呢2. 運行python程序時出現(xiàn)“應用程序發(fā)生異常”的內(nèi)存錯誤?3. java - 安卓電視盒子取得了root權(quán)限但是不能安裝第三方應用,請問該怎么辦?4. python - 如何使用pykafka consumer進行數(shù)據(jù)處理并保存?5. 一個走錯路的23歲傻小子的提問6. html5 - iOS的webview加載出來的H5網(wǎng)頁,怎么修改html標簽select的樣式字體?7. 一個mysql聯(lián)表查詢的問題8. java - 創(chuàng)建maven項目失敗了 求解決方法9. java-se - 正在學習Java SE,為什么感覺學習Java就是在學習一些API。10. 主從備份 - 跪求mysql 高可用主從方案
