我无法为我的RadioGroup创建一个onCheckedChanged侦听器

时间:2013-10-29 09:34:58

标签: java android eclipse radio-group

我正在尝试为我的RadioGroup创建一个onCheckedChanged侦听器,但是eclipse正在向我抛出错误。这是代码

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

rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        Log.d("chk", "id" + checkedId);

        if (checkedId == R.id.switchToFriends) {
            // some code
        } else if (checkedId == R.id.switchToUsers) {
            // some code
        }
    }
});

从eclipse我发现错误setOnCheckedChangeListener建议将其更改为setOnClickListener / setOnDragListener和其他人。
new OnCheckedChangeListener()它告诉我添加未实现的方法,当我选择该选项时,它会添加:

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    // TODO Auto-generated method stub

}

所以我最终得到了这个:

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

rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        Log.d("chk", "id" + checkedId);

        if (checkedId == R.id.switchToFriends) {
            // some code
        } else if (checkedId == R.id.switchToUsers) {
            // some code
        }
    }

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        // TODO Auto-generated method stub

    }
});

它告诉我从我写的方法中删除@Override注释 任何人都知道为什么它不会让我以这种方式覆盖方法?我已经检查了android docs,它显示的方法使用了我试图覆盖的格式

3 个答案:

答案 0 :(得分:5)

您可以使用ClassName直接添加侦听器

 radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // TODO Auto-generated method stub

        }
    });

例如,如果您已经使用了CompoundButton并关联了OnCheckedChangeListener,那么您将无法导入RadioGroup类,但仍然可以使用此解决方案直接访问它。

答案 1 :(得分:3)

确保您导入了正确的包import android.widget.RadioGroup.OnCheckedChangeListener;,然后@Override将是正确的

答案 2 :(得分:2)

我认为您导入了错误的包裹。

你应该导入 android.widget.RadioGroup.OnCheckedChangeListener

而不是 android.widget.CompoundButton.OnCheckedChangeListener