在我的一款Android应用中,我使用自定义图库在图库中显示图片。 (我正在使用自定义图库,以便在交换图库时显示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中导致Null指针异常GestureDetector.onTouchEvent 。
请帮忙。
先谢谢。
答案 0 :(得分:1)
我有同样的零星问题。传递给覆盖MotionEvent
方法的两个onFling
参数有时为null,并且调用e2.getX()
会抛出异常。您可以通过启动onFling方法来解决此问题:
if (e1 == null || e2 == null) return false;
答案 1 :(得分:0)
我在ICS4.0上遇到同样的问题 - 我的Gallery
View
在用户点击{{1}上的项目时在Activity
内打开了TabHost
1}} - 它总是给Gallery
,但仅限于ICS4 - 我最终做了以下操作:#/ p>
NullPointerException
现在,ICS4上出现了例外情况。