1

テーブルレイアウトの正方形に4つのボタンを作りたいです。

ボタンは次のようになります (id は 4 までカウントされます)。

<Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_column="0"
        android:background="@drawable/tile_selector"
        android:text="Button1" />

これまでのところ、すべて問題ないようです。ここで、各ボタンの幅を取得し、その値を高さとして設定します。

私のコード:

@Override
public void onWindowFocusChanged(boolean hasFocus) {

    for (int i = 0; i <= 4; i++) {

        String buttonID = "button" + i;
        int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
        Button b = (Button) findViewById(resID);
        int width = b.getWidth();
        b.setHeight(width);
    }

}

しかし、それはクラッシュします...なぜですか?

私を助けてください。

4

1 に答える 1

2

以下のようにボタンを作成してみてください

Button[] buttons; 
for(int i=0; i<4; i++) {
{
 String buttonID = "button" + (i+1);

 int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
 buttons[i] = ((Button) findViewById(resID));
 //set your height and width as you are doing.
}

それがうまくいくことを願っています...

于 2013-03-20T22:04:25.853 に答える