为什么我的RadioGroup和RadioButton的setOnCheckedChangeListener的i值是2131230729
时间: 2023-12-03 12:43:58 浏览: 115
Android RadioGroup和RadioButton控件简单用法示例
这个问题可能是因为你在代码中使用了 `findViewById` 方法获取 `RadioGroup` 或 `RadioButton` 的 id,而 id 是一个整数值,而不是一个实际的对象。因此,当你尝试在 `setOnCheckedChangeListener` 中获取该对象的 id 时,它将返回该对象的整数 id 而不是该对象本身。
解决方法是在 `setOnCheckedChangeListener` 中使用 `radioGroup.getId()` 或 `radioButton.getId()` 获取整数 id,而不是直接使用固定的 id 值。例如:
```
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
if (checkedId == radioButton1.getId()) {
// ...
} else if (checkedId == radioButton2.getId()) {
// ...
}
}
});
```
这样就可以正确地获取 RadioButton 的 id 值了。
阅读全文