我正在使用动态RadioGroup
,并且每次点击都会调用RadioButton
。
我在要初始化所有OnCheckedChangedListener
的for循环中使用RadioGroup
。谁能告诉我在动态RadioGroup
中调用RadioButtons的正确方法是什么。谢谢
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));
}
}
}
}
}
}
});
}
答案 0 :(得分:0)
这是首选吗?如果是这样,我建议您将Preferences-API与onSharedPreferenceChangeListener一起使用。这样,您可以检查密钥是否等于所讨论的特定Radio视图的密钥集,甚至是它的值,然后执行实际上,即使没有实际的首选项,您仍然可以利用它来实现解决方案。