天天看點

解決sswiperefreshlayout與listView滑動沖突的問題

listView.setOnScrollListener(new AbsListView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(AbsListView absListView, int i) {
        Log.e("i", i + "");
    }

    @Override
    public void onScroll(AbsListView absListView, int i, int i1, int i2) {
        View firstView = absListView.getChildAt(i);

        // 當firstVisibleItem是第0位。如果firstView==null說明清單為空,需要重新整理;或者top==0說明已經到達清單頂部, 也需要重新整理
        if (i == 0 && (firstView == null || firstView.getTop() == 0)) {
            swipeRefreshLayout.setEnabled(true);
        } else {
            swipeRefreshLayout.setEnabled(false);
        }
    }
});