2014-05-16 22 views
0

我即将写一个小测验应用程序。我有4个代表答案可能性的按钮。当一个按钮被按下时它应该闪烁红色或绿色以指示正确或错误。到目前为止没有问题。如何在特定情况下捕捉OnTouchEvent?

但下一步应该是滑出旧的问题,并滑入新的问题。这应该通过触摸屏幕上任何地方的用户来启动。

我该如何做到这一点?我必须使用哪些方法?

代码:

@Override 
public void onClick(View v) { 
    Button button = (Button)findViewById(v.getId()); 

    if(button.getText().equals(quizWorld.getCurrentQuestion().getRightAnswer())){ 
     //right 
    }else{ 
     //wrong 
    } 
} 

@Override 
public boolean onTouchEvent(MotionEvent event){ 
    switch(event.getAction()){ 
     case MotionEvent.ACTION_UP: 
      //Game Over? 
      if(quizWorld.swapQuestion()==false){ 
       viewFlipper.setDisplayedChild(1); 
      } 
      break; 
    } 
    return true;  
} 

只是为了说明:在onclick的PROGRAMM文本上的按钮与保存的答案进行比较,并开始闪烁(尚未编码)。在onTouchEvent上它改变了这个问题。

现在:ontouchEvent应该只在程序刚刚完成检查过程时“激活”。之后,Programm不应该在OnEventTouch上做出反应。

+0

你可以发布你的代码吗? –

回答

1

如果您不需要处理触摸事件,只需返回false onTouchEvent并让触摸通过。

@Override 
public boolean onTouchEvent(MotionEvent event){ 
if (I don't need this touch) 
{ 
    return false; 
} 
    switch(event.getAction()){ 
    case MotionEvent.ACTION_UP: 
     //Game Over? 
     if(quizWorld.swapQuestion()==false){ 
      viewFlipper.setDisplayedChild(1); 
     } 
     break; 
    } 
    return true;  
}