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)
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;
}
}
The above code is working fine 2.2,2.3 etc.... but its crashing in ICS 4.0 causing Null pointer Exception GestureDetector.onTouchEvent .
Please help .
Thanks in Advance.
I had the same problem only happening on ICS4.0 - my
Gallery
View
was opening anActivity
within theTabHost
when user clicks an item on theGallery
- it was always givingNullPointerException
but only on ICS4 - I ended up doing the following which did the trick:The Exception has now gone on ICS4.
I had this same sporadic problem. The two
MotionEvent
parameters that is passed to the overrideonFling
method are sometimes null and callinge2.getX()
throws the exception. You can fix this by starting your onFling method like this: