我正在测试这个库MaterialRefreshLayout。我遇到的一个问题是我希望能够在onRefreshLoadMore()
方法中结束刷新动画,如下所示:
materialRefreshLayout = (MaterialRefreshLayout) findViewById(R.id...);
materialRefreshLayout.setMaterialRefreshListener(new MaterialRefreshListener() {
@Override
public void onRefresh(final MaterialRefreshLayout materialRefreshLayout) {
//refreshing...
}
@Override
public void onRefreshLoadMore(MaterialRefreshLayout materialRefreshLayout) {
materialRefreshLayout.finishRefreshLoadMore();
}
}
但是,我注意到如果我这样做,onRefreshLoadMore()
方法会多次触发(例如3-4次)。我想我不应该使用finishRefreshMore()
内的onRefreshLoadMore()
方法?是否有其他方法可以取消该方法中的刷新动画?
我想这样做,因为如果我在后端数据库的数据列表的末尾,我想不再进行网络调用,只是弹出Toast告诉我的用户没有更多的数据。但是,如果我现在这样做,Toast会运行3-4次......不确定这是一个错误还是我做错了。
答案 0 :(得分:0)
这对我有用:
materialRefreshLayout = (MaterialRefreshLayout) findViewById(R.id...);
materialRefreshLayout.setMaterialRefreshListener(new MaterialRefreshListener() {
@Override
public void onRefresh(final MaterialRefreshLayout
materialRefreshLayout) {
//refreshing...
// Set this to true because it may have been set to false
materialRefreshLayout.setLoadMore(true);
}
@Override
public void onRefreshLoadMore(MaterialRefreshLayout materialRefreshLayout) {
materialRefreshLayout.finishRefreshLoadMore();
// Set it so that you cannot use pull up to refresh load more anymore
materialRefreshLayout.setLoadMore(false);
}
}
我正在做的是禁用加载更多数据的功能。这会阻止onRefreshLoadMore()
一遍又一遍地开火。但您必须记住在onRefresh()
中再次启用它,否则它将被禁用。