1. 程式人生 > >解決ScrollView巢狀RecyclerView滑動不流暢,Scrollview巢狀Recyclerview的坑

解決ScrollView巢狀RecyclerView滑動不流暢,Scrollview巢狀Recyclerview的坑

谷歌不建議使用ScrollView巢狀RecyclerView,但是有時候會有這種情況。每當遇到這種情況就導致RecyclerView滑動很不流暢。解決方法如下:

recyclerView.setLayoutManager(new GridLayoutManager(mContext, 1) {    @Override
    public boolean canScrollVertically() {
        return false;
    }
});

坑一:

我一直用以上方法,直到有一天,我資料差不多有200個,就載入很慢,要等個1.2秒才能加載出來,我就蒙了,於是看別人寫的很快,我把程式碼複製到我這裡還是慢,但是執行別人程式碼就是載入快 哼,於是我就懷疑佈局,我把Scrollview去掉果然快了好多。那既要Recyclerview又要用ScrollView,怎麼辦?用NestedScrollView來代替ScrollView.
然後給Recyclerview新增屬性:recyclerview.setNestedScrollingEnabled(false);

坑二:

 用ScrollView巢狀Recyclerview,我刪除一條資料刷全部:adapter.notifyDataSetChanged();就很慢,然後用想到

只刪除單個:

adapter.removeData(position);

adapter.notifyItemRemoved(position);

adapter.notifyItemRangeChanged(position,netSerialList.size());

這是發現刪除底部的資料,資料是刪除了,但是它的位置還在就留了很多空白,也是巢狀造成的,ScrollView無法計算高度

從熱愛ScrollView到放棄踩了3個坑