Android用の人気のMinesweeperゲームのバージョンを作成しています。プログラムでボタンを作成し、それをRelativeLayoutに追加しようとしています。ここでは、コードのブロック全体だボタンを作成してプログラムでビューに追加する
RelativeLayout layout1 = (RelativeLayout) findViewById(R.layout.game);
::私はそれを実行しようとすると、私はでNullPointerExceptionが取得How do I programmatically add buttons into layout one by one in several lines?
:
public void create() {
RelativeLayout layout1 = (RelativeLayout) findViewById(R.layout.game);
for(int i = 0; i < gridSize; i++) {
if(grid[i] == 0) { //if grid pos. indicates an empty cell
Button empty = new Button(this);
empty.setBackgroundResource(R.drawable.emptybutton); //set background to empty
empty.setId(i); //set id to value of i
empty.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
layout1.addView(empty); //add the button to the relativeLayout view
//((Button) findViewById(i)).setOnClickListener(emptyListener);
}
は、事前に感謝をここに非常によく似たものを、私を見つけました任意の応答について
あなたの問題はあなたのgame.xmlに届かないと思います。あなたの構造(概要)を提供することはできますか? – guness
私はminesweeperフィールドをシミュレートするためにintの配列を使用しています。例えば、位置[2]の値9は、地雷探査欄の位置2に地雷があることを示します。 if文を使用して別のボタンを生成しています。つまりposition [2] == 9の場合、鉱山を表すボタンが作成されます。これらのボタンを地雷探査フィールドを表す相対レイアウトに追加しようとしています。それは役に立ちますか? – DanielFitzgerald123