问题描述:
最近使用RadioGroup控件,onCheckedChanged方法被执行了两次,困扰了一阵子。
mListenKindGroup = (RadioGroup) findViewById(R.id.listen_kind_group);
mListenKindGroup.setOnCheckedChangeListener(this);
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Log.d(TAG, "onCheckedChanged");
}
以上代码当初始化进入调用mListenKindGroup.check(R.id.forwad_style_call_forwad);时,
通过log打印发现setOnCheckedChangeListener方法被调用了两次,由于我是check之后弹出一个对话框,这样一来就弹出了两个对话框,显然不是我想要的结果,
那怎么让它只调用一次呢?
解决方法:
直接根据id获取子RadioButton对象来setChecked()
((RadioButton)mListenKindGroup.findViewById(R.id.listen_kind_group)).setChecked(true);
本文探讨了在使用RadioGroup控件时遇到的一个常见问题:onCheckedChanged方法被不正常地触发两次。通过分析问题原因及提供解决方案,帮助开发者避免类似情况发生。
7648

被折叠的 条评论
为什么被折叠?



