package com.stickheaderlayout.simple; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import com.stickheaderlayout.StickHeaderLayout; import in.srain.cube.views.ptr.PtrClassicFrameLayout; import in.srain.cube.views.ptr.PtrDefaultHandler; import in.srain.cube.views.ptr.PtrFrameLayout; import in.srain.cube.views.ptr.PtrHandler; public class PullToRefreshListViewSimpleActivity extends AppCompatActivity { public static void openActivity(Activity activity){ activity.startActivity(new Intent(activity,PullToRefreshListViewSimpleActivity.class)); } boolean isCanScroll = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listview_pulltorefresh); final StickHeaderLayout shl_root = (StickHeaderLayout)findViewById(R.id.shl_root); PtrClassicFrameLayout rotate_header_list_view_frame = (PtrClassicFrameLayout)findViewById(R.id.rotate_header_list_view_frame); rotate_header_list_view_frame.setEnabledNextPtrAtOnce(true); rotate_header_list_view_frame.setLastUpdateTimeRelateObject(this); rotate_header_list_view_frame.setPtrHandler(new PtrHandler() { @Override public void onRefreshBegin(PtrFrameLayout frame) { } @Override public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) { if (isCanScroll) { return PtrDefaultHandler.checkContentCanBePulledDown(frame, content, header); } return false; } }); shl_root.addOnPlaceHoderListener(new StickHeaderLayout.OnPlaceHoderListener() { @Override public void onSizeChanged(int headerHeight, int stickHeight) { } @Override public void onScrollChanged(int height) { if (height <= 0) { isCanScroll = true; } else { isCanScroll = false; } } @Override public void onHeaderTranslationY(float translationY) { } }); ListView lv_data = (ListView)findViewById(R.id.v_scroll); int size = 100; String[] stringArray = new String[size]; for (int i = 0; i < size; ++i) { stringArray[i] = ""+i; } ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, stringArray); lv_data.setAdapter(adapter); } }