0

あなたの助けが必要です。いくつかのチェックボックスがあり、チェックボックスがチェックされていないときに、Toast ビューで少なくとも 1 つのチェックボックスを選択するようにユーザーに通知するメッセージを表示する必要があります。これが私のコードです。チェックボックスがチェックされていない場合、メッセージが表示されますが、その後は他のメッセージが表示されます。

if(ketch.isChecked()==true){

                    result2.append("Ketchup"+"\n");
                }
                if(may.isChecked()==true){

                    result2.append("Mayonnaise"+"\n");
                }
                if(mus.isChecked()==true){

                    result2.append("Mustard"+"\n");
                }
                else{


                    Toast.makeText(MainActivity.this,"Please choose at least 1 topping!",Toast.LENGTH_SHORT).show();

                }




Toast.makeText(MainActivity.this, "Name: "+name.getText()+"\n"+"Phone: "+phone.getText()+"\n"+"Address: " +address.getText()+"\n"+"Shape: "+sh.getText()+"\n"+"Cheese: "+ty.getText()+"\n"+"Toppings: "+"\n"+result.toString()+"Sauce: "+"\n"+result2.toString(), Toast.LENGTH_LONG).show();


        }
        });

    }
4

5 に答える 5

1

それを試してください:

boolean atLeastOneChecked = false;

if(ketch.isChecked()==true){

    result2.append("Ketchup"+"\n");
    atLeastOneChecked = true;
}
if(may.isChecked()==true){

    result2.append("Mayonnaise"+"\n");
    atLeastOneChecked = true;
}
if(mus.isChecked()==true){

    result2.append("Mustard"+"\n");
    atLeastOneChecked = true;
}

if (!atLeastOneChecked)
    Toast.makeText(MainActivity.this,"Please choose at least 1 topping!",Toast.LENGTH_SHORT).show();
else 
    Toast.makeText(MainActivity.this, "Name: "+name.getText()+"\n"+"Phone: "+phone.getText()+"\n"+"Address: " +address.getText()+"\n"+"Shape: "+sh.getText()+"\n"+"Cheese: "+ty.getText()+"\n"+"Toppings: "+"\n"+result.toString()+"Sauce: "+"\n"+result2.toString(), Toast.LENGTH_LONG).show();
于 2013-09-27T10:04:55.600 に答える
1

Use else if

if(ketch.isChecked()){

                result2.append("Ketchup"+"\n");
            }
            else if(may.isChecked()){

                result2.append("Mayonnaise"+"\n");
            }
            else if(mus.isChecked()){

                result2.append("Mustard"+"\n");
            }
            else{


                Toast.makeText(MainActivity.this,"Please choose at least 1 topping!",Toast.LENGTH_SHORT).show();

            }


            Toast.makeText(MainActivity.this, "Name: "+name.getText()+"\n"+"Phone: "+phone.getText()+"\n"+"Address: " +address.getText()+"\n"+"Shape: "+sh.getText()+"\n"+"Cheese: "+ty.getText()+"\n"+"Toppings: "+"\n"+result.toString()+"Sauce: "+"\n"+result2.toString(), Toast.LENGTH_LONG).show();
        }
    });

}

Pure java!

于 2013-09-27T10:03:17.010 に答える
1

リストチェックボックスリストを作成し、そこにすべてのチェックボックスを配置してから、次のようにメソッドを作成できると思います:

public boolean isAnyCheckboxChecked() {
    for(Checkbox chekbox : checkboxesList)
       if(checkbox.isChecked())
          return true;
    return false;
}

これを行うための最良の方法かもしれません。

于 2013-09-27T10:34:37.050 に答える
0

それを実装するよりクリーンな方法

    if(ketch.isChecked())
    {
        result2.append("Ketchup"+"\n");
    }
    else if(may.isChecked())
    {
        result2.append("Mayonnaise"+"\n");
    }
    else if(mus.isChecked())
    {
        result2.append("Mustard"+"\n");
    }
    else
    {
        Toast.makeText(MainActivity.this,"Please choose at least 1 topping!",Toast.LENGTH_SHORT).show();
    }
    Toast.makeText(MainActivity.this, "Name: "+name.getText()+"\n"+"Phone: "+phone.getText()+"\n"+"Address: " +address.getText()+"\n"+"Shape: "+sh.getText()+"\n"+"Cheese: "+ty.getText()+"\n"+"Toppings: "+"\n"+result.toString()+"Sauce: "+"\n"+result2.toString(), Toast.LENGTH_LONG).show();
于 2013-09-27T10:05:06.083 に答える
0
if(ketch.isChecked()==true){
    result2.append("Ketchup"+"\n");
}
if(may.isChecked()==true){
    result2.append("Mayonnaise"+"\n");
}
if(mus.isChecked()==true){
    result2.append("Mustard"+"\n");
}

if(!(ketch.isChecked() || may.isChecked() || mus.isChecked())){
     Toast.makeText(MainActivity.this,"Please choose at least 1 topping!",Toast.LENGTH_SHORT).show();
}else{
            Toast.makeText(MainActivity.this, "Name: "+name.getText()+"\n"+"Phone: "+phone.getText()+"\n"+"Address: " +address.getText()+"\n"+"Shape: "+sh.getText()+"\n"+"Cheese: "+ty.getText()+"\n"+"Toppings: "+"\n"+result.toString()+"Sauce: "+"\n"+result2.toString(), Toast.LENGTH_LONG).show();    
}
于 2013-09-27T10:18:59.567 に答える