【问题标题】:check default radio button android检查默认单选按钮android
【发布时间】:2021-11-10 08:34:56
【问题描述】:

我试图默认检查第一个RadioButton,但最后一个按钮被选中。我使用了以下内容,它会自动选择最后一个RadioButton

              RadioButton rb;
              rb = new RadioButton(context);
                    rb.setText("item" + i);
                    rb.setId(i);
                    rg.addView(rb, layoutParams);
                    rb.setChecked(true);

我也尝试过使用位置,但结果是一样的

rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
          @Override
          public void onCheckedChanged(RadioGroup group, int checkedId) {

              radioButton = group.findViewById(rg.getCheckedRadioButtonId());
              rb_position = group.indexOfChild(radioButton);
              if (rb_position == 0){
                rb.setChecked(true);
              }
            }
       });

【问题讨论】:

    标签: java android radio-button


    【解决方案1】:

    我猜您是在向单选组动态添加新的单选按钮。您正在使用变量“rb”继续向组中添加按钮(这很好),但是,在您的听众中,您说的是

    rb.setChecked(true);
    

    但变量“rb”仍然引用了添加到单选组的最后一个按钮。将第一个单选按钮的引用分配给侦听器内的变量“rb”。

    rb = (RadioButton) rg.getChildAt(0);
    rb.setChecked(true);
    

    【讨论】:

    • 但是如何更改第一个按钮的引用以及第二个选项如何在 rb 大小发生变化的情况下将侦听器放在第一个按钮上。你能用一些代码解释一下吗?
    • 尝试添加 rb = rg.getChildAt(0);之前 rb.setChecked(true);
    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 2013-02-07
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    相关资源
    最近更新 更多