在我的 Android 应用程序之一中,我使用自定义图库来显示 gallery 中的图像。
(我使用自定义图库是为了在交换图库时一次显示 1 个项目)
这是我用于自定义画廊的代码:
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;
}
}
上面的代码在 2.2,2.3 等环境下工作正常,但是它的ICS 4.0 中崩溃导致空指针异常 GestureDetector.onTouchEvent .
请帮忙 。
提前致谢。
我也有同样的零星问题。他们俩MotionEvent
传递给覆盖的参数onFling
方法有时为空并调用e2.getX()
抛出异常。您可以通过启动 onFling 方法来解决此问题,如下所示:
if (e1 == null || e2 == null) return false;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)