Java 在Android中添加N个单选按钮

Java 在Android中添加N个单选按钮,java,android,kotlin,radio-button,radio-group,Java,Android,Kotlin,Radio Button,Radio Group,我想根据一些值添加单选按钮。值定义我必须显示的单选按钮总数。目前我正在动态添加两个单选按钮,但这不是添加单选按钮的正确解决方案。如果我必须为这段代码显示10个单选按钮,我必须创建10个单选按钮实例。谁能告诉我如何才能做到这一点 代码:- class FragmentQues : Fragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,

我想根据一些值添加单选按钮。值定义我必须显示的单选按钮总数。目前我正在动态添加两个单选按钮,但这不是添加单选按钮的正确解决方案。如果我必须为这段代码显示10个单选按钮,我必须创建10个单选按钮实例。谁能告诉我如何才能做到这一点

代码:-

class FragmentQues : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                          savedInstanceState: Bundle?): View? {

    return inflater.inflate(R.layout.fragmentques_layout, container, false)
}

@SuppressLint("ResourceType")
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    // Create RadioButton programmatically
    val radioButton1 = RadioButton(activity)
    radioButton1.layoutParams= LinearLayout.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT)
    radioButton1.setText("No")
    radioButton1.id = 1

    val radioButton2 = RadioButton(activity)
    radioButton2.layoutParams = LinearLayout.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT)
    radioButton2.setText("Yes")
    radioButton2.id = 2

        profile_radio_group.addView(radioButton1)
        profile_radio_group.addView(radioButton2)

        profile_radio_group.setOnCheckedChangeListener { group, checkedId ->

            if (checkedId ==1){
                // Some code 
            }else{
                 // Some code 
            }
        }
}

}好的,这可以通过一个简单的for循环来完成

class FragmentQues:Fragment(){
覆盖创建视图(充气机:布局充气机,容器:视图组?,
savedInstanceState:捆绑?:查看{
返回充气机。充气(右布局。碎片布局,容器,假)
}
@SuppressLint(“资源类型”)
覆盖已创建的视图(视图:视图,保存状态:捆绑?){
super.onViewCreated(视图,savedInstanceState)
val值=2;
//如果每个按钮都有自定义文本,则必须在列表中定义它们
val textList=listOf(“否”、“是”)
for(i在0中直到值){
//以编程方式创建RadioButton
val radioButton=radioButton(活动)
radioButton.layoutParams=LinearLayout.layoutParams(
ViewGroup.LayoutParams.WRAP_内容,
ViewGroup.LayoutParams.WRAP_内容)
radioButton.setText(文本列表[i])
radioButton.id=i
配置文件\u单选\u组。添加视图(单选按钮)
}
profile_radio_group.setOnCheckedChangeListener{group,checkedId->
如果(检查EDID==1){
//一些代码
}否则{
//一些代码
}
}
}
  • 请注意,如代码中所述,文本必须作为数组传递,以满足您的需要

例如,你可以使用一个循环并将单选按钮对象存储在一个数组中。我正在尝试这个方法,你能给我举个例子吗。