Android:如何在ListView中正确使用RadioGroup?

4
我有一个ListView,其中每一行都有一个TextView和一个RadioGroup,包含4个RadioButton。现在我可以选择每一行的一个RadioButton。但是,如果我滚动ListView,我的选择会消失或者不正确地显示。例如,我选择第一行的RadioButton A,如果我滚动ListView,然后再回到第一行,要么RadioGroup中没有任何RadioButton被选中,要么RadioButton C被选中而不是A。如何解决这个问题?我已经尝试了7天,但仍然找不到解决方案。有人能帮帮我吗?非常感谢。

你能否改进你正在使用的适配器中的getView方法? - RoflcoptrException
嗨,天东,我也遇到了同样的问题,请给我提供一些想法。如何防止在列表的其他行中覆盖此选择状态? - tamil
请在这里发布您的代码,我对此很感兴趣。谢谢。 - Milos Cuculovic
1个回答

8
当您的适配器调用getView()(或者如果您正在使用CursorAdapter,则调用bindView())时,您需要设置RadioGroup的状态。Android会回收行,并且不会跟踪那些RadioGroup的状态。
请参见此处的示例项目,其中在一行中有一个RatingBar,介绍了这种通用技术。这也在我的一本书的免费节选部分中有所涉及。

1
难以置信,它运行了!我太……太高兴了!而且这个免费的摘录帮助我很多,让我更好地理解Android的ListView是如何工作的。非常感谢您的帮助,我真的非常感激。 - TianDong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接