ListView中的RadioButton怎么单选?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ListView中的RadioButton怎么单选?相关的知识,希望对你有一定的参考价值。

各位前辈高手帮帮忙,就是ListView中的RadioButton怎么单选呀,我的ListView中的RadioButton全都可以选中,怎么办呀?

1.在你的界面中定义一个数组 长度跟你的listview的长度一样2.数组全部置为0,代表你的radioButton 全部未选中3.点击事件的position,将数组对应位置的值置为14.getview中判断当前position 对应数组中的值是否为1 来设置RadioButton属性还有一些细节的东西,比如设置为1的时候记得把上次为1的位置置为0,还有其他等等.... 参考技术A 要注意 如果你的getview中保存了 listview的item的话,在重用的时候要把其中radiobutton中的状态给重置下,不然会出现bug

滚动时ListView位置问题

我正在开发一个带有用户必须填写的表单的应用程序。表单有一些textview,edittexts,listview和两个按钮。

列表视图由textview和两个radiobutton组成。我在列表视图中填充了一个问题,每行都有两个radiobuttons。如果我重复使用覆盖getView方法中给出的convertview,当我检查一个单选按钮时,它将按照每个滚动的屏幕向下滚动时检查第一个可见的单选按钮。

 @Override
public View getView(int position, View convertView, ViewGroup parent){
    if(convertView == null){
        convertView = ((Activity)context).getLayoutInflater().inflate(R.layout.riskrowlayout, parent, false);
    }

    ((TextView)convertView.findViewById(R.id.tvPreg)).setText(data.get(position));
    return convertView;
}

否则,如果每次调用getView时我都会给布局充气,它会自动取消选中我在滚动时检查的单选按钮。

@Override
public View getView(int position, View convertView, ViewGroup parent){
    convertView = ((Activity)context).getLayoutInflater().inflate(R.layout.riskrowlayout, parent, false);

    ((TextView)convertView.findViewById(R.id.tvPreg)).setText(data.get(position));
    return convertView;
}

我做错了什么?我怎么解决这个问题?如果您需要更多信息,我会给您。

非常感谢你的优势!

上一条评论的问题解决了,只是从another post粘贴了这段代码:

@Override
public int getViewTypeCount() {                 
return getCount();
}

@Override
public int getItemViewType(int position) {
return position;
}
答案

您需要将检查数据保存到数组中。当您向下滚动并返回选中的行时,它不知道在哪里检查。如果你没有模型数组,只需创建一个选中的列表并在getview方法内部设置所有false,看看数组。

@Override
public View getView(int position, View convertView, ViewGroup parent){
    if(convertView == null){
        convertView = ((Activity)context).getLayoutInflater().inflate(R.layout.riskrowlayout, parent, false);
    }

    TextView textView = (TextView) convertView.findViewById(R.id.tvPreg);


    textView.setText(data.get(position));
    radioButton.setChecked(checked.get(position));


    return convertView;
}

以上是关于ListView中的RadioButton怎么单选?的主要内容,如果未能解决你的问题,请参考以下文章

ListView 中的 RadioButton 波纹效果

RadioButton(单选按钮)&Checkbox(复选框)

asp.net(C#)怎样将listview中的radiobutton设置成互斥?

Android中。如何用RadioButton设定一个4列12行的单选表格。

WPF c# 界面上有3个radiobutton和3个listview 选择不同的radiobutton出现不同的listview

请问在android的listView中怎么动态加入radioButton和Button按钮?