当按下按钮时,如何检查当前是否选中了两个或更多复选框

时间:2014-01-06 13:06:40

标签: android android-intent if-statement android-checkbox

这是我的代码:

public class Diagnosaage1 extends Activity{

Button b;
CheckBox check01,check02;
String a;

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.diagnosaage1);

    check01 = (CheckBox) findViewById(R.id.check01);
    check02 = (CheckBox) findViewById(R.id.check02);

    b = (Button) findViewById(R.id.Button01);
        b.setOnClickListener(new View.OnClickListener() {
          public void onClick(View v) {
            if(check01.isChecked()){
                Intent l = new Intent(Diagnosaage1.this, Diare.class);
                startActivity(l);
            }
            else if(check01.isChecked() && check02.isChecked()){
                Intent l = new Intent(Diagnosaage1.this, Diagnosa.class);
                startActivity(l);

            }
          }
    });

}

如果单击Button01,它将检查当前是否选中了两个或更多复选框,如果当前选中该复选框,它将转到另一个活动。

2 个答案:

答案 0 :(得分:2)

将测试的顺序更改为最精确的第一个:

public void onClick(View v) {
    if(check01.isChecked() && check02.isChecked()){
        Intent l = new Intent(Diagnosaage1.this, Diagnosa.class);
        startActivity(l);
    } else if (check01.isChecked()){
        Intent l = new Intent(Diagnosaage1.this, Diare.class);
        startActivity(l);
    }
}

答案 1 :(得分:0)

我不知道你要问的是什么,根据你的代码,如果你选择一个chekbox01它将进行其他一些活动,如果你点击它们会进行其他一些活动,如果你只点击checkbox02就会不去做任何活动

public void onClick(View v) {
        if(check01.isChecked() && check02.isChecked()){
            Intent l = new Intent(Diagnosaage1.this, Diagnosa.class);
            startActivity(l);
        }  else if (check01.isChecked()){
            Intent l = new Intent(Diagnosaage1.this, Diare.class);
            startActivity(l);
        }
    }