我有以下代码,它使用手势在我的hfm上执行滚动,但是重写这个hfm,基本上覆盖了屏幕上的所有字段,使它们无用。怎么可能,我认为这个特定的touchEvent属于hfm?我如何解决这个问题,只是禁用hfm的触摸滚动?
gallery = new CustomHFM(){
protected void sublayout(int maxWidth, int maxHeight){
super.sublayout(maxWidth, 200);
setExtent(maxWidth,200);
}
protected boolean touchEvent(TouchEvent message){
int eventCode = message.getEvent();
if(eventCode == TouchEvent.GESTURE){
System.out.println("SWIPE GESTURE");
TouchGesture g = message.getGesture();
int gesturecode = g.getEvent();
int direction = g.getSwipeDirection();
//gallery.setHorizontalScroll(page_two, true);
if(direction == TouchGesture.SWIPE_WEST)
slideNext();
if(direction == TouchGesture.SWIPE_EAST)
slidePrev();
pressed = true;
}
if(eventCode == TouchEvent.UP){
pressed = false;
//slide();
}
return true;
}
};
答案 0 :(得分:1)
只有当经理使用该事件时,您才应该从touchEvent-method返回true,并且它不应该在层次结构中向下传播。可能你应该在处理之前调用super.touchEvent,但我不确定。