いくつかのボタンを動的に作成しました。アクティビティを開始するとすべて問題ありませんが、画面を回転させるかボタンを押すと、すべてのボタンが失われ、グーグルで検索したところ、ID のないビューは保存したので、それらの ID を動的に設定し、次のような名前の R.java ファイル内でそれらを見つけたい:
public static final class id {
public static final int Button1=0x7f070027;
public static final int Button2=0x7f070024;
}
setId() を試してみましたが、問題は解決せず、 setID(); を使用する場合と同じではないと思います。Stringファイル内に手動で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);
}
}
}
}