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();
}
我正在尝试应用验证我有两个复选框notokcheckbox
和ressolvedcheckbox
。
if Problem != null
且未选中notokcheckbox
,ressolvedcheckbox
,则应显示Enable Ok Or Not/Ok
或
if Problem != null
或notokcheckbox
或ressolvedcheckbox
已启用,则应打印Sucess
。
虽然我正在尝试使用单一复选框,但我的意思是它的工作正常,但两者都没有。
请告诉我如何申请两个复选框:
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()) {
...
} else {
...
}
如果problem
为空并且选中了两个(或两个)复选框之一,则下面的表达式为真。
P.S。注意变量的情况,你应该尊重java variable naming convention。
答案 1 :(得分:0)
如果我理解正确,你想在未选中时显示“Enable Ok Or 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
因此只能选择一个选项..