誰能告訴我爲什麼我不能讓onOverScrolled在我下面的代碼名爲:的Android的ListView onOverScroll永遠不會被調用
public class KasOverScrollListenableListView extends ListView {
public interface OverScrollListener{
void onOverScroll(int scrollx, int scrollY,boolean clampedX, boolean clampedY);
}
private OverScrollListener mOverScrollListener= null;
public KasOverScrollListenableListView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public KasOverScrollListenableListView(Context context, AttributeSet attrs){
this(context,attrs,0);
}
public KasOverScrollListenableListView(Context context){
this(context,null,0);
}
protected void onOverScroll(int scrollX, int scrollY, boolean clampedX, boolean clampedY){
Log.i("overScrolling", "overScrolling is " + scrollY);
// if the version of the system higher than 2.3 then do the following things.
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD){
// super.onOverScrolled(scrollX, scrollY, clampedX, clampedY);
if(null != mOverScrollListener){
mOverScrollListener.onOverScroll(scrollX, scrollY, clampedX, clampedY);
}
}
}
public void setOnOverScrollListener(OverScrollListener listener){
mOverScrollListener = listener;
}
}
我永遠無法得到的日誌輸出,這意味着該函數不被調用,而這個listview實際上是overscrolled.I真的很感激聽到你的想法。
您正在使用哪個Android? – Sagar
要使用「onOverScroll()」,您需要API等級9或以上。 onOverScrolledBy()方法由於超滾動操作而調用此方法。如果您使用的是Android 2.2,則無法使用,請嘗試使用Android 2.3即API級別9. – Sagar
感謝您的回覆。我使用的是高於9的API。我只是想聽android的overScrolling,但沒有找到一種方法。似乎覆蓋的函數onOverscroll()從來沒有被調用,我只是很困惑這個。 – gothion