谁能告诉我为什么我不能在下面的代码中调用 onOverScrolled:
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 实际上是过度滚动的。听到你的想法我将非常感激。
最佳答案
不确定这是否有帮助,但下面链接中的示例调用了 super.overScrollBy(...)。我可以使用此代码访问 onOverScroll。希望对您有所帮助...
关于永远不会调用 android ListView onOverScroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398547/