无法将onCheckedChangeListener设置为RadioGroup

时间:2014-03-25 21:53:40

标签: android listener radio

我创建了我的RadioGroup如下:

RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radioGroup1);

现在我想像这样调用onCheckedChangeListener:

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    public void onCheckedChanged(RadioGroup group, int checkedId) {

    }

});

首先,eclipse建议我像这样编写它,但是当把它全部输出时,Eclipse强调我的代码如下:

enter image description here

.setOnCheckedChangeListener 为红色并告诉我以下内容:

The method setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener) 
in the type RadioGroup is not applicable for the arguments 
(new CompoundButton.OnCheckedChangeListener(){})

为什么我的Listener工作正常,虽然eclipse首先告诉我这样做?

3 个答案:

答案 0 :(得分:2)

添加导入:

 import android.widget.RadioGroup.OnCheckedChangeListener;

而不是:

 import android.widget.CompoundButton.OnCheckedChangeListener;

并且您的代码将像魅力一样工作:):

RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radioGroup1);    
        radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {   
            public void onCheckedChanged(RadioGroup group, int checkedId) {

            }
        });
问题是你正在使用:

import android.widget.CompoundButton.OnCheckedChangeListener;

答案 1 :(得分:0)

检查你的"导入"文件顶部的部分。 使用

"import android.widget.RadioGroup.OnCheckedChangeListener;" 

而不是

"import android.widget.CompoundButton.OnCheckedChangeListener;"

答案 2 :(得分:0)

您应该使用/ import RadioGroup.OnCheckedChangeListener代替CompoundButton.OnCheckedChangeListener

radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
        // TODO
    }
});