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);