首页 > 解决方案 > Radiogroup checkChangedListerner 未在动态 RadioGroup android 中调用

问题描述

我正在使用动态RadioGroup,我想RadioButton在每次点击时调用。我OnCheckedChangedListener在初始化所有RadioGroup. 谁能告诉我在动态中调用 RadioButtons 的正确方法是什么RadioGroup。谢谢

for (int i = 0; i < radioGroupSizeList.size(); i++) {
  final RadioGroup radioGroup = radioGroupSizeList.get(i);
  final int radioGroupId = radioGroupSizeList.get(i).getId();

  radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
      @Override
      public void onCheckedChanged(RadioGroup group, int checkedId) {
          if (group.getId() == radioGroupId) {
              int rb = radioGroup.getCheckedRadioButtonId();

              List<RadioButton> radioButtonsList = radioMap.get(radioGroupId);
              for (int k = 0; k < radioButtonsList.size(); k++) {
                  RadioButton radioButton = radioButtonsList.get(k);

                  String getTextRadio = radioButton.getText().toString();
                  int radioButtonId = radioButtonsList.get(k).getId();
                  if (rb == radioButtonId) {
                      sizeList = allSizesVariations.get(radioGroupId);
                      for (int i = 0; i < sizeList.size(); i++) {
                          String size = sizeList.get(i).getName();

                          TextView textView = (TextView) group.getChildAt(i);
                          textView.setTextColor(getResources().getColor(R.color.Black));
                          if (getTextRadio.equalsIgnoreCase(size)) {
                              size_attribute_id = sizeList.get(i).getId();
                              TextView textView1 = (TextView) group.getChildAt(i);
                              textView1.setTextColor(getResources().getColor(R.color.white));
                              GeneralFunctions.showToast(DetailActivity.this, String.valueOf(size_attribute_id));

                          }

                      }

                  }
              }
          }
      }
  });
}

标签: android

解决方案


这是作为偏好吗?如果是这样,我建议将 Preferences-API 与 onSharedPreferenceChangeListener 一起使用。这样,您可以检查密钥是否等于相关特定 Radio 视图的密钥集,甚至它的值是什么,并执行您的根据需要编写代码。事实上,即使它不是实际的偏好,您仍然可以利用它来实现解决方案。


推荐阅读