2013-06-18 83 views
0

我目前有2个复选框,旁边有一个编辑文本字段。总共有4个复选框,并且我有逻辑来检查每个复选框,如果选中它们,则取消选中其他复选框(几乎单选按钮样式)。但是,如果这两个参数在编辑文本字段中有值,就可以进行检查。编辑文本和复选框检查

然而,如果EditText字段(其被设定为数字)具有的值为0或为空白我希望它取消选中的复选框,将值设置为0。

这里是我的代码要做到这一点

if (etBase.getText().toString() == "0" || etBase.getText().toString() == ""){ 
     etBase.setText("0"); 
     cbBase.setChecked(false); 
    } else { 
     cbBase.setChecked(true); 
    } 
    if (etField.getText().toString() == "" || etField.getText().toString() == "0"){ 
     etField.setText("0"); 
     cbField.setChecked(false); 
    } else { 
     cbField.setChecked(true); 
    } 

因为它现在是我现在默认情况下,两个字段为“0”时,它启动。当这个逻辑运行时,它将设置两个复选框以进行检查。

我必须在这里失去一些东西。

+1

不要使用'=='比较' Strings'。使用'String#equals'代替 – Reimeus

+0

谢谢,解决了这个问题。我试图应用我很久以前学过的编程规则,我想某些事情会改变。 – Vidar

回答

0

要比较字符串,您必须使用.equals()函数。 (或者.compareTo()但没有今天的交易)

例:

if (etBase.getText().equals("0") || etBase.getText().equals("")){ 
    ... 
} 

var1 == var2用于获取,如果这些都变量具有相同的对象