gpt4 book ai didi

java - If...Else 语句总是转向 "else"。

转载 作者:行者123 更新时间:2023-12-02 02:44:15 29 4
gpt4 key购买 nike

我正在尝试对单选按钮组运行“存在检查”,以确定如果在组中选择了 2 个单选按钮中的 1 个(if 语句),如果选择了 2 个单选按钮中的另一个(否则 if语句)或者如果两者都没有选择(else 语句)。其代码如下:

if (rdbAM.isSelected()) {
strTime = rdbAM.getText().toString();
} else if(rdbPM.isSelected()){
strTime = rdbPM.getText().toString();
} else {
AlertDialog.Builder WrongDateFormat = new AlertDialog.Builder(this);
WrongDateFormat.setMessage("Please Select AM or PM");
WrongDateFormat.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertWrongDateFormat = WrongDateFormat.create();
alertWrongDateFormat.show();
return;
}

所以基本上,这应该做的是,将名为“strTime”的变量设置为单选组中所选单选按钮的文本是什么,或者如果两者都没有选择,则显示错误消息。相反,无论是否选择单选按钮,它总是显示此错误消息:

enter image description here

(如上所示,选择了“AM”单选按钮,但仍显示错误)。

任何有关原因的建议将不胜感激。请注意,我对 Android 开发还比较陌生,所以如果这显然是显而易见的事情,那么我深表歉意,但几天来我一直在努力解决这个问题!如果您想查看任何进一步的代码,请告诉我,我很乐意提供它,但我会尽力将其保持私密,因此如果没有必要,不想在初始帖子中发布所有内容。提前致谢。

最佳答案

根据文档 RadioButton扩展 CompoundButton提供方法 isChecked() 。然而,与方法 isSelected() 的区别描述很少。来自扩展类View这可能会令人困惑。

执行以下操作,它应该可以工作:

rdbAM.isChecked();

关于java - If...Else 语句总是转向 "else"。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44909069/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com