0

いくつかのボタンを動的に作成しました。アクティビティを開始するとすべて問題ありませんが、画面を回転させるかボタンを押すと、すべてのボタンが失われ、グーグルで検索したところ、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);

                }

            }

        }

    }  
4

0 に答える 0