我遇到问题RadioGroup
并动态添加RadioButton
我有这个功能:
private void createRadio() {
RadioGroup rgp= (RadioGroup) findViewById(R.id.radioGroup);
RadioGroup.LayoutParams rprms;
for(int i=0;i<radios.length();i++){
RadioButton radioButton = new RadioButton(this);
try {
JSONObject object = radios.getJSONObject(i);
radioButton.setText(object.getString("name"));
radioButton.setId(object.getInt("id"));
rprms= new RadioGroup.LayoutParams(RadioGroup.LayoutParams.WRAP_CONTENT, RadioGroup.LayoutParams.WRAP_CONTENT);
assert rgp != null;
rgp.addView(radioButton, rprms);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
radios
是我从数据库中检索的JSONArray。
我的问题是,当我放入&#34;支持&#34;我的应用程序,所以当我重新打开我的活动时活动停止我发现radiogroup重复的值。
例:
如果在我的应用程序中有3个单选按钮,如:
1
2
3
当我没有关闭应用程序的stanby手机,并在解锁手机后重新打开应用程序时,我发现:
1
2
3
1
2
3
我相信问题是rgp.addView
添加radioButton
而不检查radiobutton是否已经存在。
有一种方法可以检查是否已填充radioGroup?
答案 0 :(得分:2)
您可以执行以下任何操作: -
1)在添加新的RadioButtons作为
之前,从RadioGroup中删除所有RadioButtons radioGroup.removeAllViews();
2)检查RadioGroup是否已填充
boolean alreadyPopulated = radioGroup.getChildCount() > 0;