用户登录
用户注册

分享至

android 记录RecyclerView和ScrollView滑动冲突的BUG

  • 作者: 这家伙很懒什么都没留下啊
  • 来源: 51数据库
  • 2021-07-28

?一、RecyclerView和ScrollView滑动冲突的BUG,缺点onBindViewHolder时会把列表中的全部数据加载出来,有点难受。不知道有没有其他解决方法。

mWifiRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()){
    @Override
    public boolean canScrollVertically() {
        return false;//修复wifi列表滑动卡顿,RecyclerView和ScrollView冲突的bug
    }
    @Override
    public boolean canScrollHorizontally() {
        return false;//水平的话重写这个方法
    }
});

二、另外加一个BUG是为了禁止recyclerview下滑,有点鸡肋,特定场景使用到了。

//禁止recyclerview下滑
public class MyGridLayoutManager extends GridLayoutManager {

    private boolean isScrollEnabled = true;

    public MyGridLayoutManager(Context context, int spanCount) {
        super(context, spanCount);
    }

    public void setScrollEnabled(boolean flag) {
        this.isScrollEnabled = flag;
    }

    @Override
    public boolean canScrollVertically() {
        return isScrollEnabled && super.canScrollVertically();
    }


}
MyGridLayoutManager myGridLayoutManager = new MyGridLayoutManager(this,3);
myGridLayoutManager.setOrientation(RecyclerView.VERTICAL);
myGridLayoutManager.setScrollEnabled(false);
mRightRecyclerView.setLayoutManager(myGridLayoutManager);

?

软件
前端设计
程序设计
Java相关