首页 > 解决方案 > 列表视图中的单选组按钮验证 setOnCheckedChangeListener

问题描述

对不起,我是android的新手。在单选按钮验证方面需要帮助。我有两个单选按钮是或否。当我点击提交时,它会给我值哪个用户选择了是或否。我想确保用户在单击提交按钮之前应该选择任何一个单选按钮是或否。更多细节而不是给我“未尝试”我希望用户只给出是或否。

public class CustomAdapter extends BaseAdapter {
Context context;
String[] questionsList;
LayoutInflater inflter;
public static ArrayList<String> selectedAnswers;

public CustomAdapter(Context applicationContext, String[] questionsList) {
    this.context = context;
    this.questionsList = questionsList;
    selectedAnswers = new ArrayList<>();
    for (int i = 0; i < questionsList.length; i++) {

        selectedAnswers.add("Not Attempted");

    }
    inflter = (LayoutInflater.from(applicationContext));
}

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

@Override
public Object getItem(int i) {
    return null;
}

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

@Override
public View getView(final int i, View view, ViewGroup viewGroup) {
    view = inflter.inflate(R.layout.list_items, null);
    TextView question = (TextView) view.findViewById(R.id.question);
    RadioButton yes = (RadioButton) view.findViewById(R.id.yes);
    RadioButton no = (RadioButton) view.findViewById(R.id.no);
    RadioGroup rg =(RadioGroup) view.findViewById(R.id.radio_group1);
    yes.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked)
                selectedAnswers.set(i, "Yes");
        }
    });
    no.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked)
                selectedAnswers.set(i, "No");

        }
    });

谢谢

标签: android

解决方案


只需禁用您的提交按钮,然后在您的单选按钮更改侦听器中使其启用:

Button button = (Button) findViewById(R.id.button);
button.setEnabled(false); // disabled
button.setEnabled(true);  // enabled

推荐阅读