Android RadioGroup与ListView联用显示错乱问题

今天遇到了这个坑爹的问题,一开始以为是因为ListView的缓存造成的,结果debug的时候发现在调用clearCheck();和check(id);方法时都会触发RadioGroup的点击事件,从而导致了显示错乱,最后想了一个解决办法,取消监听然后在设置监听:

viewHolder.answerRg.setOnCheckedChangeListener(null); // 取消监听
...
viewHolder.answerRg.clearCheck();
...
viewHolder.answerRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
         ...
    }
});

一个很笨的方法,如果大家有什么更好的方法,欢迎大家给我留言,我在这里万分感谢。

你可能感兴趣的:(Android RadioGroup与ListView联用显示错乱问题)