问题描述
在我的Android应用程序之一,我使用自定义的画廊,以显示画廊图像。
(我用的,为了定制的画廊显示1项的时间交换画廊时)
In one of my android app, I am using custom gallery to show images in gallery .(I am using custom gallery in order to show 1 item a time when swapping the gallery)
下面是code,我使用自定义空间:
Here is the code that I am using for custom gallery :
public class CustomGallery extends Gallery {
public CustomGallery(Context context) {
super(context);
}
public CustomGallery(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomGallery(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2) {
return e2.getX() > e1.getX();
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
int kEvent;
if (isScrollingLeft(e1, e2)) { // Check if scrolling left
kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
} else { // Otherwise scrolling right
kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
}
onKeyDown(kEvent, null);
return true;
}
}
以上code是工作的罚款2.2,2.3等等....但它的中轰然4.0 ICS导致空指针异常GestureDetector.onTouchEvent
请帮忙。
先谢谢了。
推荐答案
我有同样的零星问题。传递到覆盖 onFling
法的两个 MotionEvent
参数有时无效,并要求 E2 .getX()
抛出异常。您可以通过启动您的onFling方法是这样解决这个问题:
I had this same sporadic problem. The two MotionEvent
parameters that is passed to the override onFling
method are sometimes null and calling e2.getX()
throws the exception. You can fix this by starting your onFling method like this:
if (e1 == null || e2 == null) return false;
这篇关于空指针异常:GestureDetector.onTouchEvent自定义库中的Android ICS为4.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!