SwipeRefreshLayout是V4包下的一个组件,老版本的V4包不支持这个组件功能。因此,如果发现自己的项目中无法导入SwipeRefreshLayout的包,那么说明项目中的V4包是老版本的,需要更新才可以。
我这里下拉刷新是配合ListView来完成的。请看布局:
<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/mRefreshLayout" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:animationCache="false" android:dividerHeight="0dp" android:listSelector="#00000000" android:scrollingCache="false" android:smoothScrollbar="true" /> </android.support.v4.widget.SwipeRefreshLayout>
接下来实在代码中实现:
private SwipeRefreshLayout mRefreshLayout;// SwipeRefreshLayout下拉刷新控件 mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.mRefreshLayout);
// 下拉刷新颜色控制 mRefreshLayout.setColorSchemeResources(R.color.swiperefresh_color1, R.color.swiperefresh_color2, R.color.swiperefresh_color3, R.color.swiperefresh_color4); mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh() {
// 启动刷新的控件
mRefreshLayout.post(new Runnable() {
@Override
public void run() {
// 设置是否开始刷新,true为刷新,false为停止刷新
mRefreshLayout.setRefreshing(true);
}
});
}
});
//停止刷新
mRefreshLayout.setRefreshing(false);