|
@@ -2,6 +2,7 @@ package com.usai.apex.Result;
|
|
|
|
|
|
|
|
import android.content.Context;
|
|
import android.content.Context;
|
|
|
import android.util.AttributeSet;
|
|
import android.util.AttributeSet;
|
|
|
|
|
+import android.util.Log;
|
|
|
import android.view.MotionEvent;
|
|
import android.view.MotionEvent;
|
|
|
import android.view.View;
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewGroup;
|
|
@@ -284,6 +285,7 @@ public class PullRefreshListView extends ListView implements AbsListView.OnScrol
|
|
|
public interface OnRefreshListener{
|
|
public interface OnRefreshListener{
|
|
|
void onHeaderStateChange(int state, int offset);
|
|
void onHeaderStateChange(int state, int offset);
|
|
|
void onFooterStateChange(int state, int offset);
|
|
void onFooterStateChange(int state, int offset);
|
|
|
|
|
+ void shouldPullDownToRefresh(boolean should);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -315,9 +317,32 @@ public class PullRefreshListView extends ListView implements AbsListView.OnScrol
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ public int getOffsetY() {
|
|
|
|
|
+ View c = getChildAt(0);
|
|
|
|
|
+ if (c == null) {
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ int firstVisiblePosition = getFirstVisiblePosition();
|
|
|
|
|
+ int top = c.getTop();
|
|
|
|
|
+ return -top + firstVisiblePosition * c.getHeight() ;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void onScroll(AbsListView view, int firstVisibleItem,
|
|
public void onScroll(AbsListView view, int firstVisibleItem,
|
|
|
int visibleItemCount, int totalItemCount) {
|
|
int visibleItemCount, int totalItemCount) {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if (listener != null) {
|
|
|
|
|
+ if (getOffsetY() == 0) {
|
|
|
|
|
+ listener.shouldPullDownToRefresh(true);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ listener.shouldPullDownToRefresh(false);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Log.d("Didida", "onScroll: " + firstVisibleItem + " " + getOffsetY());
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|