我创建了我的RadioGroup如下:
RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radioGroup1);
现在我想像这样调用onCheckedChangeListener:
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
}
});
首先,eclipse建议我像这样编写它,但是当把它全部输出时,Eclipse强调我的代码如下:
.setOnCheckedChangeListener 为红色并告诉我以下内容:
The method setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener)
in the type RadioGroup is not applicable for the arguments
(new CompoundButton.OnCheckedChangeListener(){})
为什么我的Listener工作正常,虽然eclipse首先告诉我这样做?
答案 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
}
});