java - 安卓 如何實(shí)現(xiàn)RecyclerView嵌套listview 實(shí)現(xiàn)類似淘寶購(gòu)物車這種的數(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í),會(huì)出現(xiàn)與父ListView的滑動(dòng)沖突,解決起來(lái)很麻煩。
回答3:樓上說的是一個(gè)解決方案,不過其實(shí)嵌套也沒這么麻煩,你重寫子view的onDispatchTouchEvent事件,做一個(gè)滑動(dòng)手勢(shì)判定,如果是滑動(dòng),就放棄處理整個(gè)事件序列,或者重寫父view的OnDispatchTouchEvent,是滑動(dòng)就不再分發(fā),原理是一樣的。
相關(guān)文章:
1. python小白 自學(xué)看書遇到看不懂的地方2. javascript - avalon.js ms-on 事件綁定無(wú)效 ?3. javascript - vue中使用prop傳遞數(shù)據(jù)問題4. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件5. php對(duì)mysql提取數(shù)據(jù)那種速度更快6. DADB.class.php文件的代碼怎么寫7. shell - mysql更新錯(cuò)誤8. javascript - immutable配合react提升性能?9. mysql - 在log日志中已知用戶的某一步操作,如何獲取其上一步操作?10. 網(wǎng)頁(yè)爬蟲 - 如何使用使用java抓取信息并制作一個(gè)排名系統(tǒng)?

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