2013-06-18 143 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用於獲取,如果這些都變量具有相同的對象