我已经动态创建了一些按钮,当我开始活动时一切都很好,但是当我旋转屏幕或按下按钮时,我失去了所有按钮,我用谷歌搜索然后我发现没有 ID 的视图不能已保存,所以我想为它们动态设置 ID,我想在 R.java 文件中找到它们,名称如下:
public static final class id {
public static final int Button1=0x7f070027;
public static final int Button2=0x7f070024;
}
我试过 setId() 但问题没有解决,我认为使用 setID() 时不一样;并在字符串文件中手动设置 id,所以我需要你的帮助提前感谢(^_^)。
这是我的源代码:
TableLayout TL = (TableLayout) findViewById(R.id.tlRDV);
TL.removeAllViews();
j = 0;
for (int i = 0; i < nbH; i++) {
TableRow tr = new TableRow(this);
tr.setLayoutParams(new LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
tr.setId(View.generateViewId());
TextView text_view = new TextView(this);
Button b = new Button(this);
text_view.setWidth(1000);
j = j + averageConsultationTime;
HMA = ((BeganConsultationH * 60) + (BeganConsultationM))
+ j - averageConsultationTime;
int h = HMA / 60;
int m = HMA % 60;
b.setBackgroundColor(0xff99cc00);
b.setText(h + "H" + m);
tr.addView(b);
for (int k = 0; k < 7; k++) {
Button but = new Button(this);
but.getId(View.generateViewId());
but.setText("" + but.getId());
but.setOnClickListener(getOnClickDoSomething(but,
jours[k] + "_" + h + "H" + m));
tr.addView(but);
}
TL.addView(tr);
}
}
}
}