android - 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));
}
}
}
}
}
}
});
}
解决方案
这是作为偏好吗?如果是这样,我建议将 Preferences-API 与 onSharedPreferenceChangeListener 一起使用。这样,您可以检查密钥是否等于相关特定 Radio 视图的密钥集,甚至它的值是什么,并执行您的根据需要编写代码。事实上,即使它不是实际的偏好,您仍然可以利用它来实现解决方案。
推荐阅读
- javascript - 制作游戏角色行走,Javascript
- excel - IF 公式中的 Excel TODAY() 函数无法正常工作
- java - 如何获取 30 分钟返回实例对象(Instance.now() -30 分钟)
- r - 获得与 R 中的两个变量相关的 x 的最大值
- sonarqube - Sonarqube 7.2.1 徽章返回 401
- node.js - 使用 NodeJS 获取 GitHub 分支,并使用 OAuth 记录存储库
- ios - 是否可以暂停 CAEmitterLayer?
- javascript - 验证图像尺寸 - Angular 6
- jquery - Angular6 和 JQuery - 布局不是 Karma 的功能
- sql-server - 从 0 开始更新表中的列