2011-12-13 14 views
1

私はアンドロイドでボードゲームのためのアイコンの2次元配列を作る簡単な方法を探しています。私はJavaでゲームを書いたが、それはスイングを使用し、私は今アンドロイドのためにそれを書き直そうとしている。私はすべてを探し回って2次元アレイを作る方法を見つけましたが、私はアイコンでそれをどうやって埋めるのか分かりません。どんな助けもありがとう。ここではスイングのlibを使用してJavaから私のコードです):。アンドロイド2次元アイコンの配列を作る方法

spots = new JButton[15][15]; 
     grid = new JPanel(new GridLayout(15, 15)); 
     for (int i = 0; i < spots.length; i++) { 
      for (int j = 0; j < spots.length; j++) { 
       spots[i][j] = new JButton();     
       spots[i][j].setActionCommand(i + ":" + j); 
       spots[i][j].addActionListener(this);   
       grid.add(spots[i][j]); 
       spots[i][j].setIcon(backgroundIcon); 
      } 
     } 

答えて

2

あなたも、あなたのアイコンを保持するためにImageView[][]を作成する必要があります。また、GridViewを使用して表示することもできます。固定サイズの問題ですので、ImageView[]またはList<ImageView>を使用することをお勧めします。このsampleをご覧ください。

注:ImageViewのOnClickListenerを設定できます。

+0

を変更する応答をいただき、ありがとうございます。私は非常に応答するために私の時間がかかったことをお詫びします、私はアカウントのための自分の資格情報を覚えていないことができます。 – Nissi

+0

リンクが死んでいます... – Flummox

2

個人的には、GridViewを使用し、2d配列ではなくリストとしてスポット(カスタムListAdapter)を管理する必要があります。リストの周りに関数をラップすると、2D配列として扱うことができます。それ以外の場合は、最初からカスタムビューとアダプターを処理する必要があります。また、春のアプリケーションからあまりにも多くのコードをインポートしようとすると乱雑になる可能性があります

2次元配列を使用したい場合は、配列内の各要素のグループImageViewsでレイアウトを作成し、 android:layout_belowandroid:layout_toRightOf)を使用してボードルックを作成します。

その後、例えばこれらの画像ビューにハンドルを使用して2次元配列を移入できます。

spots[0][0] = findViewById(R.id.coords_0_0); 

次に、あなたが呼び出すことができます。

spots[0][0].setImageResource(R.image.newPiece); 

あなたは

+0

ありがとう、私もあなたに謝罪します。アカウントの資格情報を更新しましたので、もう一度やり直すことができます。あなたの答えはまた非常に役に立ちました。 – Nissi

+0

@ニッシー問題なし、それが役に立つと分かった場合 – zode64

+0

私はかつて2つの評判を得るでしょうが、残念ながら今日はこのサイトを積極的に使い始めたので、まだ特権はありません。 – Nissi