嗨,我正在研究安卓。
我现在正在玩扫雷游戏。
从用户那里获取游戏的关卡信息,我尝试第一次在android中动态创建视图。
当我点击按钮" READY"时,动态创建按钮。
当选择一个简单的游戏时,60个按钮,当中间,81个按钮,以及困难时,创建135个按钮。
但活动经常停止。
我想知道更可靠的观看方式。
以下是创建它们的代码。非常感谢
public void makeMineFarm(int level) {
int rowNum = EASY_ROW;
int colNum = EASY_COLUMN;
switch (level) {
case 1:
break;
case 2:
rowNum = MEDIUM_ROW;
colNum = MEDIUM_COLUMN;
break;
case 3:
rowNum = DIFFICULT_ROW;
colNum = DIFFICULT_COLUMN;
break;
}
tableRow = new TableRow[rowNum];
buttons = new MineButton[rowNum][colNum];
int[] valArr = getMineValue(rowNum, colNum);
for (int i = 0; i < rowNum; i++) {
tableRow[i] = new TableRow(this);
TableRow.LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
tableRow[i].setLayoutParams(layoutParams);
for (int j = 0; j < colNum; j++) {
buttons[i][j] = new MineButton(this);
TableRow.LayoutParams lp = new TableRow.LayoutParams();
lp.width = 120;
lp.height = 120;
lp.setMargins(-5, -5, -5, -5);
buttons[i][j].setLayoutParams(lp);
buttons[i][j].setTextSize(18);
if (valArr[colNum * i + j] == -1) {
buttons[i][j].setValue("@");
} else {
buttons[i][j].setValue(Integer.toString(valArr[colNum * i + j]));
}
buttons[i][j].setOnClickListener(new OnMineButtonClickListener(this, buttons[i][j]));
tableRow[i].addView(buttons[i][j]);
}
tableLayout.addView(tableRow[i]);
}
}