从BaseAdapter类获取选中的RadioButton

时间:2018-10-29 11:11:44

标签: java android

我正在尝试进行5个问题的测验活动,并且我正在使用Base Adapter类将单选按钮的4个答案设置为。我的问题是我不确定如何在Activity类中获取选中的单选按钮。我尝试指定一个变量来保存所选单选按钮的位置,并制作了一个方法将此变量返回给Activity类,但它仅返回0(我仅尝试将返回的变量输出为Toast而不是对整个东西来测试它。

基本适配器类

public View getView(final int position, View convertView, ViewGroup parent) {
    final View v = mInflater.inflate(R.layout.template_question,null);
    final RadioButton rditem = (RadioButton) v.findViewById(R.id.itemRadio);

    rditem.setText(ques[ques_num][position] + "");
    rditem.setChecked(position == selectedPosition);
    rditem.setTag(position);

    rditem.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            selectedPosition = (Integer)view.getTag();
            selectedAnswer = selectedPosition;
            notifyDataSetChanged();
        }
    });
    return v;
}

我在基本适配器类上尝试过的返回方法

public int getSelectedAnswer() {
        return selectedAnswer;
}

活动课

submit = (Button)findViewById(R.id.button);
        submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ques_num++;
                if(ques_num == ques.length - 1)
                {
                    Intent a = new Intent(getApplicationContext(), MainActivity.class);
                    startActivity(a);
                    finish();
                }

                question.setText(ques[ques_num]);

                ItemAdapter itemad = new ItemAdapter(getApplicationContext(), ans_set, ques_num);

                LV.setAdapter(itemad);
                int answ = itemad.getSelectedAnswer();
                showMessage(answ + "");

            }
});

0 个答案:

没有答案