Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编辑文本并选中复选框_Java_Android_Android Edittext_Android Checkbox - Fatal编程技术网

Java 编辑文本并选中复选框

Java 编辑文本并选中复选框,java,android,android-edittext,android-checkbox,Java,Android,Android Edittext,Android Checkbox,我目前有两个复选框,旁边有一个编辑文本字段。总共有4个复选框,我有逻辑选中每个复选框,如果选中其他复选框,则取消选中其他复选框(几乎是单选按钮样式)。但是,如果编辑文本字段中有值,则可以检查这两个字段 但是,如果EditText字段(设置为数值)的值为0或为空,我希望它取消选中复选框并将值设置为0 这是我要做的代码 if (etBase.getText().toString() == "0" || etBase.getText().toString() == ""){ e

我目前有两个复选框,旁边有一个编辑文本字段。总共有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”。当此逻辑运行时,它将两个复选框都设置为选中


我一定是遗漏了什么。

若要比较字符串,必须使用
.equals()
函数。(或
.compareTo()
但这不是今天的交易)

例:


var1==var2
用于获取这两个变量是否具有相同的对象

不要使用
=
来比较
字符串
。使用
String#equals
代替谢谢,这解决了问题。我正在尝试应用我很久以前学会的编程规则,我想某些事情确实会改变。
if (etBase.getText().equals("0") || etBase.getText().equals("")){
  ...
}