Closed xuejingfei closed 8 years ago
mQuickAdapter.notifyDataChangedAfterLoadMore(false); 隐藏 定时在开启 上拉刷新
定时在开启 ..是什么意思?
断网后调用mQuickAdapter.notifyDataChangedAfterLoadMore(false); 这个方法是隐藏不了loadingview.
贴下你使用的代码
private void showErrorView(String message) { ((TextView) errorView.findViewById(R.id.tv_message)).setText(message); adapter.setEmptyView(errorView); adapter.notifyDataSetChanged();
adapter.notifyDataChangedAfterLoadMore(false);
adapter.openLoadMore(10,true);
ToastManager.shortToast(refreshLayout.getContext(),message);
}
这个是断网失败后,如果是adapter没值,显示erroView,如果有值就让他隐藏loadingView,然后打开,让用户可以重新上拉加载.
你两个方法不能写在一块啊
adapter.notifyDataChangedAfterLoadMore(false); adapter.openLoadMore(10,true);这两行代码吗?
恩 不可以吗
关键是只调用adapter.notifyDataChangedAfterLoadMore(false);这一行,成功加载第一页后,把网断了,然后再上拉,那个loadingView没有隐藏.导致把网连接以后,用户无法上拉加载,我用的是v1.8.5版本.
你再上拉的时候,在调用adapter.notifyDataChangedAfterLoadMore(false);,这样就会隐藏了,然后你在 new Handler 定时 开启 这个监听事件。这样就又可以上拉了。
mQuickAdapter.notifyDataChangedAfterLoadMore(false); new Handler().postDelayed(new Runnable() { @Override public void run() { mQuickAdapter.notifyDataChangedAfterLoadMore(true); } }, 3000);
提个建议,是不是可以提供个方法,上拉加载完成的方法,无论加载成功还是加载失败,只是隐藏loadingView,上拉就初始化loadingView..
无法判断,是否上拉加载完成了,只能让开发者主动触发notifyDataChangedAfterLoadMore方法,才能知道。
用我给你的代码,你的问题解决了没?
这个方法是不是得写在上拉监听方法里,还是写在加载失败的回调函数里.
难道你的加载失败不是在上拉监听里面吗?理论上拉才去请求,然后请求失败就进去回调函数里面去了。
是的,已经解决了.
ok 感谢提问。
感觉 new Handler().postDelayed(new Runnable() { @Override public void run() { mQuickAdapter.notifyDataChangedAfterLoadMore(true); } }, 3000);这个方法还是不应该让开发者初始化,这个应放在开源项目中.
成功解决了多布局的问题~么么哒
@xuejingfei 可以考虑加入
在加载更多时断网,怎么隐藏loadingView,让用户可以再次上拉加载.