2012-02-23 163 views
28

当按钮被点击时,我需要检查复选框的值。 Java代码:Android:获取选中的复选框值

dualcamera1 = (CheckBox)findViewById(R.id.Camera1_DualDisplay); 
dualcamera2 = (CheckBox)findViewById(R.id.Camera2_DualDisplay); 
dualcamera3 = (CheckBox)findViewById(R.id.Camera3_DualDisplay); 
dualcamera4 = (CheckBox)findViewById(R.id.Camera4_DualDisplay); 
dualdisplay = (Button)dialog.findViewById(R.id.DisplayDualVideo); 
+0

你想获得复选框的值吗?你的意思是,你想知道复选框的状态,或者其他什么?请多说明一下你的要求。 – Hiral 2012-02-23 10:51:49

+0

如果用户选择单个,多个复选框需要显示消息,则需要仅选择两个复选框。点击按钮后,我需要知道选中的复选框值。 – Kamal 2012-02-23 10:54:41

+0

它仍然不完全清楚。您想阻止用户选择多个/少于2个复选框吗?还有,你认为checkbox的价值是什么?它的检查状态或其文本? – Hiral 2012-02-23 11:03:37

回答

6

正确的选项得到Checkbox值正在使用的方法:

isChecked()当前检查的stat视图

dualcamera1.isChecked() 

isEnable()的e如果这一观点被启用,否则为false刚刚返回True。

26

您可以拨打isChecked()上一个复选框,以获取其状态。如果你想计算你可以存储的选中复选框的数量,然后在ArrayList中循环。

+0

这是对的❤️ – mghhgm 2016-10-13 08:37:08

39

其简单:

static int m=0; 
dualDisplay.setOnClickListener(new OnCli....{ 
    onClick() 
    { 
      if(dualcamera1.isChecked()) 
       m++; // you can save this as checked somewhere 
      if(dualcamera2.isChecked()) 
       m++; // you can save this as checked somewhere 
      if(dualcamera3.isChecked()) 
       m++; // you can save this as checked somewhere 
      if(dualcamera4.isChecked()) 
       m++; // you can save this as checked somewhere 
    } 
}); 
if(m>2 || m<2) 
     // show error message 
else 
     // code here 

如果选择可以节省复选框的细节,在如果只是检查,在for循环。

7

这可能会帮助您:

//Returns the enabled status for this view. 
dualcamera1.isEnabled() //return True if this view is enabled, false otherwise. 

//Indicates whether the view is currently in pressed state. 
dualcamera1.isPressed() //return True if this view is enabled, false otherwise. 
17

如果复选框未在规定的onCreate()方法则必须使用这样的事情:

boolean isChecked = ((CheckBox) findViewById(R.id.checkBox1)).isChecked()