Java make if只检查一个命令
我有一个ViewFlipper和一个next按钮,我希望在检查并执行一个命令后该按钮停止 我希望它停止检查其余部分,除非我再次单击它 我的代码:Java make if只检查一个命令,java,android,button,if-statement,Java,Android,Button,If Statement,我有一个ViewFlipper和一个next按钮,我希望在检查并执行一个命令后该按钮停止 我希望它停止检查其余部分,除非我再次单击它 我的代码: Next.setOnClickListener(new View.OnClickListener() { ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp); @Override public void onClick(Vi
Next.setOnClickListener(new View.OnClickListener() {
ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);
@Override
public void onClick(View view) {
if(flipp.getDisplayedChild() == 0){if(qOne.isChecked()) {CorrectToast();}else{WrongToast();}}
if(flipp.getDisplayedChild() == 1){if(qTwo.isChecked()){CorrectToast();}else{WrongToast();}}
if(flipp.getDisplayedChild() == 2){if(qThree.isChecked()){CorrectToast();}else{WrongToast();}}
if(flipp.getDisplayedChild() == 3){if(qFour.isChecked()){CorrectToast();}else{WrongToast();}}
}
});
使用if()else if()
construct使用if()else if()
construct您可以像这样使用if(){}else if(){}
语句
Next.setOnClickListener(new View.OnClickListener() {
ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);
@Override
public void onClick(View view) {
if(flipp.getDisplayedChild() == 0){if(qOne.isChecked()) {CorrectToast();}else{WrongToast();}}
else if(flipp.getDisplayedChild() == 1){if(qTwo.isChecked()){CorrectToast();}else{WrongToast();}}
else if(flipp.getDisplayedChild() == 2){if(qThree.isChecked()){CorrectToast();}else{WrongToast();}}
else if(flipp.getDisplayedChild() == 3){if(qFour.isChecked()){CorrectToast();}else{WrongToast();}}
}
});
您可以像这样使用if(){}else if(){}
语句
Next.setOnClickListener(new View.OnClickListener() {
ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);
@Override
public void onClick(View view) {
if(flipp.getDisplayedChild() == 0){if(qOne.isChecked()) {CorrectToast();}else{WrongToast();}}
else if(flipp.getDisplayedChild() == 1){if(qTwo.isChecked()){CorrectToast();}else{WrongToast();}}
else if(flipp.getDisplayedChild() == 2){if(qThree.isChecked()){CorrectToast();}else{WrongToast();}}
else if(flipp.getDisplayedChild() == 3){if(qFour.isChecked()){CorrectToast();}else{WrongToast();}}
}
});
请改用switch语句:
Next.setOnClickListener(new View.OnClickListener() {
ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);
@Override
public void onClick(View view) {
switch(flipp.getDisplayedChild()) {
case 0: if(qOne.isChecked()) {CorrectToast();}else{WrongToast();} break;
case 1: if(qTwo.isChecked()) {CorrectToast();}else{WrongToast();} break;
case 2: if(qThree.isChecked()) {CorrectToast();}else{WrongToast();} break;
case 3: if(qFour.isChecked()) {CorrectToast();}else{WrongToast();} break;
default: break; //do default action,
}
}
请改用switch语句:
Next.setOnClickListener(new View.OnClickListener() {
ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);
@Override
public void onClick(View view) {
switch(flipp.getDisplayedChild()) {
case 0: if(qOne.isChecked()) {CorrectToast();}else{WrongToast();} break;
case 1: if(qTwo.isChecked()) {CorrectToast();}else{WrongToast();} break;
case 2: if(qThree.isChecked()) {CorrectToast();}else{WrongToast();} break;
case 3: if(qFour.isChecked()) {CorrectToast();}else{WrongToast();} break;
default: break; //do default action,
}
}
swith语句是可以的,但我建议这样做。它更具可读性,您可以添加对象,而不必太麻烦和混乱
public void onClick(View view) {
CheckedObject[] objectsToCheck = new CheckedObject[]{qOne,qTwo,qThree,qFour};
int index = flipp.getDisplayedChild();
if (objectsToCheck[index].isChecked())
{
CorrectToast();
}
else
{
WrongToast();
}
}
swith语句是可以的,但我建议这样做。它更具可读性,您可以添加对象,而不必太麻烦和混乱
public void onClick(View view) {
CheckedObject[] objectsToCheck = new CheckedObject[]{qOne,qTwo,qThree,qFour};
int index = flipp.getDisplayedChild();
if (objectsToCheck[index].isChecked())
{
CorrectToast();
}
else
{
WrongToast();
}
}
CheckedObject[]代表什么?Android Studio无法解决该问题。@user2989698您必须用正确类型的qOne、qTwo等替换CheckedObject。如果您使用的是JCheckBox,则JCheckBox[]。我不知道您使用的对象的类别。CheckedObject[]代表什么?Android Studio无法解决该问题。@user2989698您必须用正确类型的qOne、qTwo等替换CheckedObject。如果您使用的是JCheckBox,则JCheckBox[]。我不知道您使用的对象的类别。