android - 離線地圖的這種列表該怎么實現?
問題描述
就是下圖這種列表,前兩個分組為單層的,其他身份的為雙層的,想了好久沒想通,只能來請教各位了...
問題解答
回答1:github上很多expandableListView的庫可以找找有沒有合適的,不過單純用recyclerView也能實現,adapter里面分3種trpe,標題(熱門省份等),次標題(山東省等),具體省份。
點擊擴展列表可以直接插入數據然后用adapter.notifyItemIntert()來刷新列表
回答2:推薦兩個庫https://github.com/zaihuishou...https://github.com/bignerdran...感覺單層的點擊效果可以單獨處理,直接下載地圖,雙層的展開,二級菜單下載地圖
回答3:我以前簡單寫過。自己定義一個簡單的樹形結構,里面記錄了子節點、本節點的層數、是否要展示本節點的子節點 和本節點是否為葉節點,根據這些來判斷itemType(比如 是葉節點的話點擊是下載地圖,非葉節點的話是展開下一級列表),不過每次點擊都要觸發一次notifyDataSetChanged(),我感覺不大好。
Android 打造任意層級樹形控件 考驗你的數據結構和設計 hongyang大神曾經寫過一篇類似的文章,不過他是用的線性表存的
想了一下還是很多坑,默默坐等大神
回答4:推薦的開源recyclerview https://github.com/bignerdran...定義樹形結構├─ItemStructure│ ├─ItemParent│ │ ├─ItemChildrens│ │ │ ├─ItemChildren1│ │ │ ├─ItemChildren2│ │ │ ├─ItemChildren3│ │ │ ├─.............ItemStructure作為Item的整個結構,ItemParent作為Item可下拉的部分,ItemChildrens作為最子層可下載的內容。通過ViewType分類HeaderView、ItemParent、ItemChildrens列表
相關文章:
1. javascript - 微信小程序里怎么把頁面轉成圖片分享2. python - flask_Bootstrap的WTF的調用疑問3. python小白,問一個關于可變類型和不可變類型底層的問題4. python把第x列數據寫入第x個文件5. python3.x - Python中出現AttributeError: object has no attribute6. mysql - 我用SQL語句 更新 行的時候,發現全部 中文都被清空了,請問怎么解決?7. mysql - SQL問個基礎例子,書上的,我怎么看都看不懂..誰幫我解釋一下第2個為什么和第1個一樣?8. 數據庫 - mysql boolean型無法插入true9. python 多進程 或者 多線程下如何高效的同步數據?10. mysql服務無法啟動1067錯誤,誰知道正確的解決方法?
