2011-12-16 16 views
-3
private Button[] Minefiled={g_btn2,g_btn3.....}; 
private Button g_btnNew; 
private Button g_btn2; 
private Button g_btn3; 
private Button g_btn4; 
private Button g_btn5; 
private Button g_btn6; 
private Button g_btn7; 

このようなボタンで配列を塗りつぶすことはできますか?ボタンで配列を表示する

+8

なぜあなたは試してみて、私たちに結果を教えていません。 – josephus

答えて

1

はい、ボタンの配列を作ることはできますが、配列内に変数を持ち、それぞれに異なる変数名を持つようにすることをお勧めします。何かのように

private Button[]mineField; 
classconstructor() 
{ 
    mineField = new Button[10]; 
    for (int x = 0; x < 10; x++) 
     mineField[x] = new Button(--button type here--); 
} 
+0

( - ボタンタイプhere-);あなたは何ですか?ボタンタイプ –

+0

より良い実装では、ボタンのIDだけを配列に格納し、findViewById(button [position])を使用してコード内にボタンのインスタンスを必要とするときだけ取得します。 1000個のボタンオブジェクトを保存することを考えてみると、私は震えます。 – josephus

+0

Buttonコンストラクタは、引数を必要とします(http://developer.android.com/reference/android/widget/Button.html)。また、デザインにボタンの配列が必要な場合は、おそらくもっと良い方法があることに注意してください。 – Thomas

0

ボタンを配列に保存する方が良い方法があります。ボタンを解析するには、次のコードを使用する必要があります。((Button)findViewById(R.id.button1));ここで行う必要があるのは、IDを取得して配列に格納し、ループを使用してすべてのボタンを制御することです。

例:

int[] myButtons = new int[] { 
    R.id.button1, 
    R.id.button2, 
    R.id.button3, 
    R.id.button4, 
    R.id.button5, 
}; 

for(int i = 0; i < myButtons.length; i++){ 
    Button button = (Button) findViewById(myButtons[i]); 
    button.setText("This is button " + (i + 1)); 
} 
関連する問題