Java 以编程方式创建RadioButton时,出现错误:错误的状态类,应为视图状态,但收到了类
我是android开发新手。我正在以编程方式创建RadioButton,但发现以下错误: 错误的状态类,应为视图状态,但收到的却是类android.widget.CompoundButton$SavedState。当两个不同类型的视图在同一层次结构中具有相同的id时,通常会发生这种情况。此视图的id为id/0x4。确保其他视图不使用相同的id 我的密码是:: DynamicFormCreation.javaJava 以编程方式创建RadioButton时,出现错误:错误的状态类,应为视图状态,但收到了类,java,android,xml,Java,Android,Xml,我是android开发新手。我正在以编程方式创建RadioButton,但发现以下错误: 错误的状态类,应为视图状态,但收到的却是类android.widget.CompoundButton$SavedState。当两个不同类型的视图在同一层次结构中具有相同的id时,通常会发生这种情况。此视图的id为id/0x4。确保其他视图不使用相同的id 我的密码是:: DynamicFormCreation.java public RadioGroup createRadioButton(String[
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;
}
在活动中调用此类::
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);
}
伙计,你正在复制
视图id的
,但我没有:(…实际上我没有提供任何id…。它需要运行时值…仍然会出现错误..你可以查看我的代码…thxread
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);
}