android动态添加radiobutton,Android RadioGroup动态添加RadioButton

import android.app.AppComponentFactory;

import android.content.Context;

import android.text.Html;

import android.util.AttributeSet;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.View;

import android.widget.LinearLayout;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.TextView;

import com.fenbitou.kaoyanzhijia.combiz.utils.AppUtil;

import com.fenbitou.kaoyanzhijia.examination.R;

import com.fenbitou.kaoyanzhijia.examination.data.question.QuestionBean;

/**

* author : liguangliang

* date : 2020-01-26 13:57

* description :单选题自定义view

*/

public class SingleChoiseView extends LinearLayout {

private static final int ID_INIT=0xF0;

private final RadioGroup rgAnswer;

private final TextView tvQuestion;

private OnAnswerSelectedListener mListener;

public SingleChoiseView(Context context, AttributeSet attrs) {

super(context, attrs);

View view = LayoutInflater.from(context).inflate(R.layout.exam_view_choice_view, this);

rgAnswer = view.findViewById(R.id.rg_answer);

tvQuestion = view.findViewById(R.id.tv_question);

}

public void updateQuestionInfo(QuestionBean qst){

if(qst!=null){

tvQuestion.setText(Html.fromHtml(getContext().getResources().getString(R.string.exam_question_content_score,qst.getQstContent(),

AppUtil.formatDouble(qst.getScore()))));

if(qst.getOptions()!=null && !qst.getOptions().isEmpty()){

for (int i = 0; i < qst.getOptions().size(); i++) {

RadioButton button = LayoutInflater.from(getContext())

.inflate(R.layout.exam_view_single_choice, rgAnswer, false)

.findViewById(R.id.rb_answer);

button.setText(String.format("%s %s",qst.getOptions().get(i).getOptOrder(),qst.getOptions().get(i).getOptContent()));

button.setId(ID_INIT+i);

rgAnswer.addView(button, i);

rgAnswer.setOnCheckedChangeListener((radioGroup, i1) -> {

Log.e("TAG", "onCheckedChanged: "+ i1);

mListener.onAnswerSelected(i1 ^ ID_INIT);

});

}

}

}

}

public void setOnAnswerSelectedListener(OnAnswerSelectedListener mListener) {

this.mListener = mListener;

}

public interface OnAnswerSelectedListener {

void onAnswerSelected(int answer);

}

}

fc9aca6f361b25cff9679116e86ae330.png

3bc44d77a31db6bd90f99fb0d76bd55d.png

奋斗的bigHead

发布了206 篇原创文章 · 获赞 68 · 访问量 6万+

私信

关注

标签:public,RadioButton,RadioGroup,qst,import,Android,getOptions,android,view

来源: https://blog.csdn.net/u013728021/article/details/104441761

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值