[CymChad/BaseRecyclerViewAdapterHelper]下拉刷新,只有一条数据的时候下拉无反应

2024-08-08 937 views
3

用demo测的,只有一条数据的时候下拉没有任何反应

回答

8

下拉刷新,不是本库功能。是用的SwipeRefreshLayout

4

但是只有一条数据的时候上拉加载和下拉刷新都不好用。。。0条跟两条都好使。不知道您这边做了什么处理?

9

还有点击“加载失败,请点我重试”,字会和“正在加载”重叠。。。

6

private void initAdapter() { pullToRefreshAdapter = new PullToRefreshAdapter(); pullToRefreshAdapter.setOnLoadMoreListener(this, mRecyclerView); pullToRefreshAdapter.openLoadAnimation(BaseQuickAdapter.SLIDEIN_LEFT); pullToRefreshAdapter.setNewData(DataServer.getSampleData(1)); // pullToRefreshAdapter.setPreLoadNumber(3); mRecyclerView.setAdapter(pullToRefreshAdapter); mCurrentCounter = pullToRefreshAdapter.getData().size();

    mRecyclerView.addOnItemTouchListener(new OnItemClickListener() {
        @Override
        public void onSimpleItemClick(final BaseQuickAdapter adapter, final View view, final int position) {
            Toast.makeText(PullToRefreshUseActivity.this, Integer.toString(position), Toast.LENGTH_LONG).show();
        }
    });
}

我只是在这个方法里加一句pullToRefreshAdapter.setNewData(DataServer.getSampleData(1));

9

@sjrw 哪个版本?下拉刷新用的什么控件?

6

@FrankKwok 版本的话应该是最新的吧,就是前天在github上下的。全程跑的demo,只是加了一句pullToRefreshAdapter.setNewData(DataServer.getSampleData(1));下拉刷新是SwipeRefreshLayout。主要是跑的demo只是把数据设置为1条下拉就没反应了。。。。。。求大神解答

7

@FrankKwok 您可以用最新版的demo试一下

9

我这边测试一下。

0

@sjrw 重叠问题,你可以把rv自动的动画设置一下就好了。

2

我跑了下代码,下拉不了是因为在onLoadMoreRequested里面设置了mSwipeRefreshLayout.setEnabled(false);

6

由于没有进入下面的判断所以没有开启下拉了

7

只需要在第一个if里面添加开启代码即可

if (pullToRefreshAdapter.getData().size() < PAGE_SIZE) {
            pullToRefreshAdapter.loadMoreEnd(true);
            mSwipeRefreshLayout.setEnabled(true);
        }
5

因为默认都会进入回调,进入第一个if,就会关闭上拉监听,所以上拉是不可以的,而在进入回调的时候就用代码关闭了下拉监听,所以会出现你说的情况

  public void onLoadMoreRequested() {
        mSwipeRefreshLayout.setEnabled(false); // 关闭下拉
        if (pullToRefreshAdapter.getData().size() < PAGE_SIZE) { // 如果没有满足一页的数量
            pullToRefreshAdapter.loadMoreEnd(true); // 关闭上拉
        } 
.....省略代码.....
0

重叠可以设置rv的setItemAnimator(null);

0

谢谢大神,瞬间感觉自己太小白了。。。。。

3

浪费您时间了。。。。不好意思

1

没事,感谢支持,如果觉得BRVAH好用的话,可以分享给身边的开发者们。

2

嗯嗯,妥妥的。