android自带的下拉刷新控件SwipeRefreshLayout
导读:下拉刷新功能,网上找的第三方框架最著名的pullToRefresh也早在2013年停止维护了,在做项目时发现谷歌公司自己就有的下拉刷新功能,位于v4包中。就是SwipeRefreshLayout。
使用方法
把需要下拉刷新的listView放入SwipeRefreshLayout中,下面是xml代码。
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_ly"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</android.support.v4.widget.SwipeRefreshLayout>
在来看下java代码,主要是设置refresh监听
ListView mListView = (ListView) findViewById(R.id.listview);
SwipeRefreshLayout mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_ly);
//设置在listview上下拉刷新的监听
mSwipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
//这里可以做一下下拉刷新的操作
//例如去请求后台接口啥的。。。
}
});
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mDatas);
mListView.setAdapter(mAdapter);
延伸
在实际项目中不仅要有下拉刷新,也要有上拉加载。方法很多,我是新建了一个类继承swipeLayout并实现滚动监听AbsListView.OnScrol