Java 安卓-按下按钮后,如何使按钮具有不同的功能?
因此,在我的代码中,用户必须回答一个快速的数学问题并按下按钮来回答,但对于下一个问题,它不会检查第二个答案,而只检查第一个答案。你怎么能让它检查下一个答案而不是上一个 primaryText.setText(问题[0]) 这样,在第一个问题完成后,它将显示第二个问题。它只适用于两个问题,而不是Java 安卓-按下按钮后,如何使按钮具有不同的功能?,java,android,Java,Android,因此,在我的代码中,用户必须回答一个快速的数学问题并按下按钮来回答,但对于下一个问题,它不会检查第二个答案,而只检查第一个答案。你怎么能让它检查下一个答案而不是上一个 primaryText.setText(问题[0]) 这样,在第一个问题完成后,它将显示第二个问题。它只适用于两个问题,而不是 OnClickListener 尝试: 您应该将逻辑移到一个单独的方法中,并将一个问题对象传递给该方法。通过这种方式,您可以将其扩展到任意数量的问题,而不会出现问题。从外观上看,您的代码可以使用一些重构
OnClickListener
尝试:
您应该将逻辑移到一个单独的方法中,并将一个问题对象传递给该方法。通过这种方式,您可以将其扩展到任意数量的问题,而不会出现问题。从外观上看,您的代码可以使用一些重构使其更加面向对象。虽然这解决了一个问题,但它仍然不可伸缩,而且似乎是一种非常糟糕的做法。
boolean questionComplete = false;
enter.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v)
{
if(!(questionComplete)){
if(numberVal.getText().toString().equals("14")) {
questionComplete = true;
primaryText.setText(Questions[1]);
}
}
else {
if(numberVal.getText().toString().equals("5")) {
primaryText.setText(Questions[2]);
}
}
}
}
);
OnClickListener
MyBtn1.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event){
if(event.getAction() == MotionEvent.ACTION_UP){
//do stuff
}
else if(event.getAction() == MotionEvent.ACTION_DOWN){
//do stuff
}
else if(event.getAction() == MotionEvent.ACTION_CANCEL){
//do stuff
}
return true;
}
});