2014-01-06 67 views
-1

这是我的代码检查两个复选框或更多的是当前签与否:如何当按钮被按下

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它会检查两个复选框或更多的是当前签或不,如果复选框当前被选中,它将转到另一个活动。

+0

ü想什么实际?根据你的代码,如果单独检查check01,它将启动Diare活动,如果check01和check02都被选中,它将开始诊断活动。但是如果仅仅是第二次检查,它将不起作用。请正确发布问题。 – CoolMonster

回答

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); 
     } 
    } 
+0

我不知道你想问什么,根据你的代码,如果你选择一个chekbox01它会去一些其他的活动,如果你点击它将会去其他一些活动,如果你只点击checkbox02它不会去任何活动 – Boopathi

+1

小心!这将打开2个活动,因为你没有'else if'只有两个'if's – doorstuck

+0

@doorstuck好感 – Boopathi

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); 
    } 
} 
+0

这是你的解决方案。祝你好运,Boopathi。 – Paul