【问题标题】:how to compare Radio Button value to string using RadioGroup如何使用 RadioGroup 将单选按钮值与字符串进行比较
【发布时间】:2016-01-29 17:33:45
【问题描述】:

我正在创建应用程序,其中我从 RadioGroup 获取单选按钮值 当我比较 if 语句中的值时,它不起作用。这是我正在使用的 Java 代码。

if(radioQuizeGroup.getText() == "History"){
    Log.d("History", "Activity");
    Toast.makeText(StartQuize.this,"History sss ss ", Toast.LENGTH_SHORT).show();    
}
else{
    Log.d("History", "Error ");
}

我在错误日志中出现错误,
这是错误日志

01-05 07:15:02.885: D/gralloc_goldfish(2035): Emulator without GPU emulation detected.
01-05 07:15:04.165: I/Choreographer(2035): Skipped 43 frames!  The application may be doing too much work on its main thread.
01-05 07:15:05.245: D/dalvikvm(2035): GC_FOR_ALLOC freed 86K, 5% free 3139K/3280K, paused 18ms, total 32ms
01-05 07:15:15.236: D/History(2035): Error 

请帮帮我

【问题讨论】:

  • 您不会收到错误消息(如果 radiogroup 不为空),您的消息应该显示在调试日志级别中。你调试过你的代码吗?
  • 我没有找到带有广播组的 getText()
  • logcate已更新,请查看@Manu Zi

标签: android radiobuttonlist


【解决方案1】:

建议使用

if(radioQuizeGroup.getText().equals("History"))

而不是

if(radioQuizeGroup.getText() == "History")

由于==比较对象的位置和.equals()比较对象的值

【讨论】:

  • 将历史放在首位也可以保护代码免受 NPE 的影响,因为 getText 返回 null。
  • @R9J 你能告诉我如何在选择一个单选框后打开一个新框区域,你可以在其中放置一个编辑框来输入数字帮助将不胜感激
  • @AshuKumar 您可以在单击选项时调用新的活动
  • 但我不想看到新屏幕,有没有办法在现有活动中显示新活动?
【解决方案2】:

切勿使用== 运算符比较字符串,而是使用equals 方法:

if("History".equals(radioQuizeGroup.getText())){
    Log.d("History", "Activity");
    Toast.makeText(StartQuize.this, "History sss ss ", Toast.LENGTH_SHORT).show();
} else {
    Log.d("History", "Error ");
}

This question 有一个很好的答案,可以进一步解释这一点。

当然这假设radioQuizeGroup 实际上是一个具有getText 方法的小部件,因为RadioGroup 没有...

【讨论】:

  • 你能告诉我如何在选择一个单选框后打开一个新框区域,你可以在其中放置一个编辑框来输入数字帮助将不胜感激
【解决方案3】:

我会使用如下所示的选定项目 ID 进行检查

int selectedId = radioQuizeGroup.getCheckedRadioButtonId();
if(selectedId == RadioButton1.getId()) //Id of the RadioButton1
 {
 //do something here
 } 
 else 
{
 //else do something here
 }

【讨论】:

    猜你喜欢
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多