RadioGroup在备用手机android

时间:2016-09-22 10:54:03

标签: android radio-button

我遇到问题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?

1 个答案:

答案 0 :(得分:2)

您可以执行以下任何操作: -

1)在添加新的RadioButtons作为

之前,从RadioGroup中删除所有RadioButtons
    radioGroup.removeAllViews();

2)检查RadioGroup是否已填充

    boolean alreadyPopulated = radioGroup.getChildCount() > 0;