我将要编写一个小测验应用程序。我有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/

10-13 03:40