2 qq 31430261 qq_31430261 于 2016.01.29 15:50 提问

ListView下拉刷新时偶尔动画会卡住

listview的下拉刷新相信大家都做过,我这次用的是谷歌官方的swiperefresh,在下拉刷新的时候遇到一个问题,就是偶尔刷新动画会无限重复,不会自己消失,手动也停不下来....如图,图片说明这个动画会一直重复,以前用自定义listview时也遇到过这个问题,不知道该如何解决,求大神指点迷津!

4个回答

rui888
rui888   Ds   Rxr 2016.01.29 16:32
已采纳
  public void onRefresh() {
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                // 停止刷新
                mSwipeLayout.setRefreshing(false);
            }
        }, 5000); // 5秒后发送消息,停止刷新
    }
qq_31430261
qq_31430261 额,好像之前假数据的Runnable还在,这个有影响吗?
接近 2 年之前 回复
qq_31430261
qq_31430261 你看看我写的有问题吗
接近 2 年之前 回复
qq_31430261
qq_31430261   2016.01.29 16:49
 @Override
    public void onRefresh() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1000);
                    swipe[vpCurrentPager].setRefreshing(false);
                    adapters[vpCurrentPager].setmCurrentPage(1);// 设置当前是第一页;
                    NetworkConnection.getTgcxData(adapters[vpCurrentPager]);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

我是这么写的....

qq_31430261
qq_31430261 恩,只有在那句代码不执行的时候才会出现这种情况,但具体为什么会不执行我还要再看看,谢了。
接近 2 年之前 回复
rui888
rui888 看不出来哪里问题,只要 调用到setRefreshing(false); 就没有问题。
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.01.29 16:08

这个只能调试代码了 是不是哪里没有退出。

rui888
rui888 回复three_two_one: swiperefresh 我用过没有发现你说的卡的现象,你可以做个log看看下一次卡主log 有什么关键信息
接近 2 年之前 回复
qq_31430261
qq_31430261 这种情况只是偶尔出现,很难调试啊,这个swiperefresh是谷歌推出的,以前用自定义listview也遇到过同样的问题,一直没能解决
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.01.29 16:31

SwipeLayout.setRefreshing(false); 这个是不是没有调用到。

qq_31430261
qq_31430261 这个在onRefresh() 方法里面调了啊,正在努力让它再次出现这种情况......唉要是每次都遇见也好调了
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!