我将要编写一个小测验应用程序。我有4个按钮,它们代表答案的可能性。当按下一个按钮时,它应该闪烁红色或绿色以指示是对还是错。到目前为止没有问题。
但是下一步应该是解决旧问题并引入新问题。这应该通过触摸屏幕上任何地方的用户来启动。
我该如何实现?我必须使用哪些方法?
码:
@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程序中,将按钮上的文本与保存的答案进行比较,并开始闪烁(尚未编码)。然后在onTouchEvent上更改问题。
现在:仅在Programm刚刚完成检查过程时,才应“激活” onTouchEvent。之后,程序不应对OnEventTouch做出反应。
最佳答案
如果您不需要处理touch事件,只需返回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;
}
关于java - 如何在特定情况下捕获OnTouchEvent?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23692216/