解决listview下拉与SwipeRefreshLayout下拉刷新冲突

来源:互联网 发布:mac 12.7 iphone铃声 编辑:程序博客网 时间:2024/04/26 12:13

/////////////////////////2016/10/19/////////////////////////

////////////////////////by    xbw/////////////////////////////


解决listview下拉与SwipeRefreshLayout下拉刷新冲突

解决办法就是当listview不位于最顶端时,下拉刷新被禁止

 lv_news = (ListView) findViewById(R.id.lv_news); lv_news.setOnScrollListener(new AbsListView.OnScrollListener() {            @Override            public void onScrollStateChanged(AbsListView view, int scrollState) {            }            @Override            public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {                if (lv_news != null && lv_news.getChildCount() > 0) {                    boolean enable = (firstVisibleItem == 0) && (view.getChildAt(firstVisibleItem).getTop() == 0);                    setSwipeRefreshEnable(enable);                    if (firstVisibleItem + visibleItemCount == totalItemCount && !isLoading) {                        loadMore(Constant.BEFORE + date);                    }                }            }        });

public void setSwipeRefreshEnable(boolean enable) {        sr.setEnabled(enable);    }

sr = (SwipeRefreshLayout) findViewById(R.id.sr);        sr.setColorSchemeResources(android.R.color.holo_blue_bright,                android.R.color.holo_green_light,                android.R.color.holo_orange_light,                android.R.color.holo_red_light);        sr.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {            @Override            public void onRefresh() {                loadFirst();                sr.setRefreshing(false);            }        });


0 0
原创粉丝点击