1

动态地,我在 recycleview 的一个问题下添加了多个选项。现在用户可以在每个问题中选择一个选项。看下图, 在此处输入图像描述

Recyclerview Adapter类是,

 @Override
    public void onBindViewHolder(final MyViewHolder holder,int position) {
        final PollQstWithAns poll = dataList.get(position);

        holder.txt_poll_question.setText(poll.getPollQstName());

        for (int i = 0; i < poll.getOptionList().size(); i++) {
            final PollsData mPollsOptionsList = poll.getOptionList().get(i);

            final RadioButton rb = new RadioButton(context);
            rb.setText(mPollsOptionsList.getAns1());
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

                ColorStateList colorStateList = new ColorStateList(
                        new int[][]{

                                new int[]{-android.R.attr.state_enabled},
                                new int[]{android.R.attr.state_enabled}
                        },
                        new int[]{

                                Color.DKGRAY
                                , ContextCompat.getColor(context, R.color.colorPrimary)

                        }
                );
                rb.setButtonTintList(colorStateList);
                rb.invalidate();
                rb.setTextColor(ContextCompat.getColor(context, R.color.gray));
            }

            holder.optionRadioGroup.addView(rb);

        }
    }

如果用户选择RadioButton.RadioGroup

4

1 回答 1

1

根据您想要使用信息的时间,有两种方法可以做到这一点。

如果您想等待用户检查所有问题然后获取值(例如发送答案按钮或类似的东西),您可以使用 RadioGroup 对象中的 getCheckedRadioButtonId()。

如果您想立即使用该信息(当用户选择它时),您可以在无线电组对象上添加一个侦听器:在无线电组对象上的 setOnCheckedChangeListener()。

于 2016-11-21T14:22:49.937 回答