2015-08-28 41 views
-1
if ((Problem != null && !notokcheckbox.isChecked()) || (Problem!=null && !ressolvedcheckbox.isChecked())) { 
    Toast.makeText(getActivity(), "Enable Ok Or Not/Ok", 100000).show(); 
} else {  
    Toast.makeText(getActivity(), "Sucess", 100000).show(); 
} 

我試圖驗證我有兩個複選框notokcheckboxressolvedcheckbox如果條件不適用於Android複選框

if Problem != null和nither notokcheckboxressolvedcheckbox不檢查,那麼它應該顯示Enable Ok Or Not/Ok

if Problem != null或任notokcheckboxressolvedcheckbox是啓用,那麼它應該打印Sucess

雖然我正在嘗試它與單一複選框我的意思是它的工作正常,但不與兩者。

u能告訴我如何有兩個複選框以應用:

if (Problem != null && !notokcheckbox.isChecked()) { 
    Toast.makeText(getActivity(), "Enable Ok Or Not/Ok", 100000).show(); 
} else { 
    Toast.makeText(getActivity(), "Sucess", 100000).show(); 
} 

工作的罰款。

請給我建議如何解決它。

+0

嘗試使用||而不是&& –

+0

試試這個if(Problem!= null &&(!notokcheckbox.isChecked()||!ressolvedcheckbox.isChecked())){ } – Narendra

回答

0

如果我理解正確,您希望在未選中時顯示「啓用Ok或Not/Ok」文本,否則顯示「Success」(啓用其中之一或兩者)。試試這個:

if (Problem != null && (!notokcheckbox.isChecked() && !ressolvedcheckbox.isChecked())) { 
    Toast.makeText(getActivity(), "Enable Ok Or Not/Ok", 100000) 
     .show(); 
} 
else { 
    Toast.makeText(getActivity(), "Sucess", 100000) 
     .show(); 
} 

如果你不是意味着它應該顯示「啓用好不好/確定」時,既不或兩個被使能的文字,如果只是一個啓用了「成功」,試試這個:

if (Problem != null && !(notokcheckbox.isChecked()^ressolvedcheckbox.isChecked())) { 
    Toast.makeText(getActivity(), "Enable Ok Or Not/Ok", 100000) 
     .show(); 
} 
else { 
    Toast.makeText(getActivity(), "Sucess", 100000) 
     .show(); 
} 

或者更好的是,使用RadioButtons所以只有一個選項可以選擇..

0

簡化:如果problem爲空並且兩個中的一個

if (problem != null && (!notOkCheckBox.isChecked() || !ressolvedCheckBox.isChecked()) { 
    ... 
} else { 
    ... 
} 

的下面表達式爲真(或兩者)的複選框被選中。

p.s.注意你變量的情況,你應該尊重java variable naming convention

相關問題