首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用@OnCheckedChanged (ButterKnife)和radioGroup在android中出错

使用@OnCheckedChanged (ButterKnife)和radioGroup在android中出错
EN

Stack Overflow用户
提问于 2017-05-09 12:25:33
回答 1查看 20.4K关注 0票数 16

我最近在我的android项目中集成了蝴蝶刀,现在我正在尝试使用@OnCheckedChanged注释来进行无线电分组。但却犯了个错误不给回电话。那么,调用和获取checkedId的正确方法是什么,或者这个方法只适用于无线电按钮,而不是用于无线电分组。

代码语言:javascript
运行
复制
@OnCheckedChanged(R.id.gendergroupid)
void onGenderSelected(RadioGroup group, int checkedId){
    switch(checkedId){
        case R.id.maleid:
            maleid.setEnabled(true);
            maleid.setChecked(true);
            break;
        case R.id.femaleid:
            femaleid.setEnabled(true);
            femaleid.setChecked(true);
            break;
        case R.id.bothid:
            bothid.setEnabled(true);
            bothid.setChecked(true);
            break;
    }
}

给了我错误

BloError:(89,10)错误:无法匹配@OnCheckedChanged方法参数。

参数#1: android.widget.RadioGroup不匹配任何侦听器参数

参数#2: int与任何侦听器参数不匹配

方法可能有最多2个参数:

android.widget.CompoundButton布尔

这些可以按任何顺序列出,但将从顶部搜索到bottom.ckquote。

EN

回答 1

Stack Overflow用户

发布于 2017-06-16 04:34:37

这对我来说很管用

代码语言:javascript
运行
复制
@OnCheckedChanged({R.id.radio_button1, R.id.radio_button2})
public void onRadioButtonCheckChanged(CompoundButton button, boolean checked) {
        if(checked) {
            switch (button.getId()) {
                case R.id.radio_button1:
                    // do stuff
                    break;
                case R.id.radio_button2:
                    // do stuff
                    break;
            }
        }
    }
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43869810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档