我即将编写一个小测验应用程序。我有 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 上它改变了问题。
现在:onTouchEvent 应该仅在程序刚刚完成检查过程时“激活”。之后程序不应对 OnEventTouch 使用react。
最佳答案
如果不需要处理触摸事件,只需在onTouchEvent上返回false,让触摸通过即可。
@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/