【问题标题】:SwipeRefreshLayout don't call refresh listenerSwipeRefreshLayout 不调用刷新监听器
【发布时间】:2015-05-05 02:39:17
【问题描述】:

我正在使用SwipeRefreshLayout 并希望在创建Activity 后将其设置为刷新,但setRefreshing(true) 不起作用。所以我在 SO:SwipeRefreshLayout setRefreshing not showing indicator initially 中找到了这个问题。

我选择覆盖 SwipeRefreshLayout 来存储本地刷新标志:

public class MyRefreshLayout extends SwipeRefreshLayout {

    public MyRefreshLayout(Context context) {
        super(context);
    }

    public MyRefreshLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    private boolean mMeasured = false;
    private boolean mPreMeasureRefreshing = false;

    @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        if (!mMeasured) {
            mMeasured = true;
            setRefreshing(mPreMeasureRefreshing);
        }
    }


    @Override
    public void setRefreshing(boolean refreshing) {
        if (mMeasured) {
            super.setRefreshing(refreshing);
        } else {
            mPreMeasureRefreshing = refreshing;
        }
    }
}

它会在我创建活动后刷新,但不会调用 OnRefreshListener。这是我的初始化代码:

mRefreshLayout = (MyRefreshLayout) findViewById(R.id.refresh_layout);
mRefreshLayout.setColorSchemeResources(R.color.holo_blue_dark, R.color.holo_blue_light, R.color.holo_green_light, R.color.holo_green_light);
mRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
    @Override
    public void onRefresh() {
          mRefreshLayout.setRefreshing(false);
    }
});

mRefreshLayout.setRefreshing(true);

找不到相关问题,请帮忙,谢谢!

【问题讨论】:

    标签: android


    【解决方案1】:

    我发现我误解了OnRefreshListener。医生说:

    希望在滑动手势正确触发刷新时得到通知的类应实现此接口。

    所以如果我打电话给mRefreshLayout.setRefreshing(true);。不是滑动手势,不会调用监听器!

    【讨论】:

    • 嘿..我也遇到同样的问题..你是怎么解决这个问题的
    【解决方案2】:

    你可以在Min2的答案中找到关于如何调用监听器的解决方案

    SwipeRefreshLayout trigger programmatically

    【讨论】:

      猜你喜欢
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      • 2014-12-13
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      相关资源
      最近更新 更多