這幾天在做藍牙開發(fā)的時候遇到了需要把將兩個RecycleView放在一個Linerlayout上下顯示,并且還要有滑動事件窄锅。一開始,我想到將兩個RecycleView放在一個ScrollView里抗愁,通過重寫RecycleView的LayoutManager禁止RecycleView的滑動事件较性,我以為這樣就只會有一個ScrollView的滑動事件,就可以滿足要求壶栋。
然而我還是太天真辰如,一開始沒有發(fā)現(xiàn)這樣寫有什么問題,后來我發(fā)現(xiàn)兩個RecycleView的高度加起來超過屏幕高度的部分并不會顯示贵试。當RecycleView的Item數(shù)量少的時候并不會發(fā)現(xiàn)這個bug琉兜,當數(shù)量多的時候發(fā)現(xiàn)根本看不到超出屏幕的部分。
網(wǎng)上有一個方法是重寫LayoutManager毙玻,測量RecycleView的高度豌蟋。然而并沒有什么用,并且在動態(tài)添加RecycleView的Item時候還會出現(xiàn)問題桑滩。
后來終于找到一個方法梧疲,就是用
NestedScrollView 替代ScrollView,并且recyclerView.setNestedScrollingEnabled(false);
問題完美解決。