如何使用RadioGroup将Radio Button值与字符串进行比较

时间:2015-01-05 12:13:35

标签: android radiobuttonlist

我正在创建应用程序,其中我从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 

请帮帮我

3 个答案:

答案 0 :(得分:5)

建议使用

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

而不是

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

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

答案 1 :(得分:1)

绝不使用==运算符比较字符串,而是使用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没有...

答案 2 :(得分:0)

我会检查,使用下面的选定项目ID

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