gpt4 book ai didi

java - ListView 中 RadioGroups 中的其他按钮被选中

转载 作者:行者123 更新时间:2023-12-01 22:22:59 24 4
gpt4 key购买 nike

我正在 Android Studio 中制作一个调查问卷类型的应用程序,我有一个 ListView,其中包含一个包含问题的 TextView 的项目和一个包含三个 RadioButtons 的 RadioGroup,每个项目包含三个答案。每当我在列表中的一项中选择一个按钮时,每隔几个按钮也会被选中。我做了一些研究,发现这个问题是由于适配器重用造成的,但我不知道如何解决这个问题。有什么想法吗?

这是我的适配器实现:

package com.aronniki.bolyaiprojektv1;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.RadioGroup;
import android.widget.TextView;


public class TesztAdapter extends BaseAdapter {

static class ViewHolderItem
{
TextView textViewItem;
RadioGroup radioGroupItem;
}

private final Context mContext;
private final String[] questions;
private final String[] valaszok;

public TesztAdapter(Context mContext, String[] questions, String[] valaszok) {
this.mContext = mContext;
this.questions = questions;
this.valaszok = valaszok;
}

@Override
public int getCount() {
return questions.length;
}

@Override
public Object getItem(int position) {
return questions[position];
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

ViewHolderItem viewHolderItem;

if(convertView == null) {
final LayoutInflater layoutInflater = LayoutInflater.from(mContext);
convertView = layoutInflater.inflate(R.layout.layout_teszt, parent, false);

viewHolderItem = new ViewHolderItem();
viewHolderItem.textViewItem = convertView.findViewById(R.id.teszt_kerdes);
viewHolderItem.radioGroupItem = convertView.findViewById(R.id.teszt_group);
convertView.setTag(viewHolderItem);
}
else {
viewHolderItem = (ViewHolderItem) convertView.getTag();

}

viewHolderItem.textViewItem.setText((String)getItem(position));
viewHolderItem.textViewItem.setTag(position);

return convertView;
}
}

最佳答案

您每次都必须选择或取消选择单选项目,因为您使用适配器,它会重复使用相同的列表项 View 来填充多个列表项 View 。

因此,在 getView() 中,每次都选择该项目(如果应该选择该项目),如果不应该选择任何内容,则取消选择该项目。

关于java - ListView 中 RadioGroups 中的其他按钮被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58577420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com