java - 安卓 如何實(shí)現(xiàn)RecyclerView嵌套listview 實(shí)現(xiàn)類似淘寶購物車這種的數(shù)據(jù)顯示
問題描述
問題解答
回答1:為什么一定要是嵌套呢?你可以左邊是一個(gè)listview 然后右邊也是一個(gè)listview或者fragment,當(dāng)點(diǎn)擊listview的item的時(shí)候改變右邊的數(shù)據(jù)不就好了
回答2:item的布局可以是一個(gè)TextView和一個(gè)LinearLayout,其中LinearLayout可以addView。偽代碼如下,先封裝下數(shù)據(jù)
class CourseList{String name;List<Course> courses;}
在Adapter中綁定數(shù)據(jù)時(shí),
TextView.setText(name)for(i=0;i<courses.size();i++){ TextView tv =new TextView(); tv.setText(courses.get(i).name); LinearLayout.add(tv);}
另一種思路是item的布局是TextView和RecycleView,但是考慮到當(dāng)具體課程數(shù)量過多,超出屏幕高度時(shí),會出現(xiàn)與父ListView的滑動沖突,解決起來很麻煩。
回答3:樓上說的是一個(gè)解決方案,不過其實(shí)嵌套也沒這么麻煩,你重寫子view的onDispatchTouchEvent事件,做一個(gè)滑動手勢判定,如果是滑動,就放棄處理整個(gè)事件序列,或者重寫父view的OnDispatchTouchEvent,是滑動就不再分發(fā),原理是一樣的。
相關(guān)文章:
1. golang - 用IDE看docker源碼時(shí)的小問題2. docker-compose中volumes的問題3. dockerfile - [docker build image失敗- npm install]4. angular.js - angular內(nèi)容過長展開收起效果5. 兩個(gè)思路:python模擬登陸頁面和模擬操作windows程序窗口提交請求6. 點(diǎn)選多選問題7. jupyter-notebook - Mac下啟動jupyter notebook后沒有Python的選項(xiàng)?8. angular.js - angularjs官網(wǎng)Demo quickstart-master在win10系統(tǒng)中啟動時(shí)報(bào)錯9. android - 如何實(shí)現(xiàn)QQ pad 點(diǎn)擊右側(cè)輸入框,只頂右側(cè)的布局,左側(cè)布局不動10. 用Python調(diào)用api之后,沒有輸出該如何解決?

網(wǎng)公網(wǎng)安備