布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/game_find_gray"
android:orientation="vertical"
android:paddingBottom="56dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/titlecolor">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="任务"
android:textColor="@color/white"
android:textSize="16sp" />
</RelativeLayout>
<in.srain.cube.views.ptr.PtrClassicFrameLayout
android:id="@+id/pcfl_content"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ScrollView
android:id="@+id/sv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none">
<LinearLayout
android:id="@+id/myscroll_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
这里各种复杂的布局巴拉巴拉......
</LinearLayout>
</ScrollView>
</in.srain.cube.views.ptr.PtrClassicFrameLayout>
</LinearLayout>
查找控件并初始化
//得到下拉刷新控件
final ScrollView sv_content = (ScrollView) findViewById(R.id.sv_content);
pcfl_content = (PtrClassicFrameLayout) findViewById(R.id.pcfl_content);
pcfl_content.setKeepHeaderWhenRefresh(true);
pcfl_content.setPtrHandler(new PtrDefaultHandler() {
@Override
public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {
// 这个方法用于判断是否可以刷新,比如在scrollview中,只有当scrollview滑到顶部才可以刷新
return PtrDefaultHandler.checkContentCanBePulledDown(frame, sv_content, header);
}
@Override
public void onRefreshBegin(final PtrFrameLayout frame) {
getGameData();
}
});
得到最新数据之后:
pcfl_content.refreshComplete();