0

I am new in android development..I am creating RadioButton programmatically but I found this error :

Wrong state class, expecting View State but received class android.widget.CompoundButton$SavedState instead. This usually happens when two views of different type have the same id in the same hierarchy. This view's id is id/0x4. Make sure other views do not use the same id.

My code is:: DynamicFormCreation.java

 public RadioGroup createRadioButton(String[] option, Context context, int parentId) {

    final RadioButton[] rb = new RadioButton[5];
    RadioGroup rg = new RadioGroup(context);
    rg.setPadding(5, 5, 0, 5);
    DisplayMetrics metrics = new DisplayMetrics();
    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    wm.getDefaultDisplay().getMetrics(metrics);
    final float width = metrics.widthPixels;
    rg.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
    rg.setMinimumHeight(UtilityClass.intToDpi(65, context));
    rg.setOrientation(RadioGroup.HORIZONTAL);

    for (int i = 0; i < 5; i++) {
        if (option[i] != null && option[i].trim().length() > 0) {
            rb[i] = new RadioButton(context);
            rg.addView(rb[i]);
            rb[i].setTextColor(Color.BLACK);
            rb[i].setText(option[i]);
        }
    }
    return rg;
}

Call that function ::

RadioGroup relgroup = createRadioButton(option, context, parentId);
rel.addView(relgroup);
parentId++;

Call this class in activity ::

DynamicFormCreation runTimeUiLibs;
view = runTimeUiLibs.getRuntimeView(field, lastCoreFieldId, textviewid, edit, "0");
if (view != null) {
    LinearLayout fieldAndPrivacyLayout = UtilityClass
        .getLinearLayoutHorizontal(MainActivity.this);
    view.setLayoutParams(layoutParamsBasic);
    view.setId(Integer.parseInt(field.editProfileFieldId));

    fieldAndPrivacyLayout.addView(view);
    editPageLayout.addView(fieldAndPrivacyLayout);
}
Alex Andrei
  • 7,315
  • 3
  • 28
  • 42
Ammy
  • 39
  • 1
  • 7

0 Answers0