【发布时间】:2014-05-31 23:23:59
【问题描述】:
我正在使用 TableLayout 和 TableRow 创建 6/6 网格按钮。
private Button myButton;
private static final int a=7;
private static final int b=7;
private void createLayoutDynamically() {
won = (TableLayout)findViewById(R.id.won);
for ( int qq = 1; qq < a; qq++) {
TableRow tableRow = new TableRow(this);
tableRow.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.MATCH_PARENT,
2
));
won.setPadding(20,20,20,20);
won.addView(tableRow);
for ( int q = 1; q < b; q++) {
myButton = new Button(this);
}
}
}
我还实现了 CounDownTimme,当时间结束时,我想禁用对网格中所有按钮的 onclick。
public void inittimer(){
lol =new CountDownTimer(czass, 100) {
public void onTick(long millisUntilFinished) {
czass = millisUntilFinished;
czas.setText("" + millisUntilFinished / 1000);
}
public void onFinish() {
layout2.setVisibility(View.VISIBLE);
for ( int i = 0; i < won.getChildCount(); i++ ){
View view = won.getChildAt(i);
view.setEnabled(false);
}
}
}.start();
}
所以我得到了我所有的网格孩子,但是当时间结束时我仍然可以点击这个按钮。为什么他们没有被禁用?你能帮帮我吗?
解决方案:
为了清楚起见,我更正了@matiash 的代码以适合我的代码:
Button buttons [][]= new Button[a][b];
for (int i=1;i<buttons.length;i++) {
for (int j=1;j<buttons[i].length;j++) {
Button btn = buttons[i][j];
btn.setEnabled(false);
}
}
这样做也一样,但适合我发布的代码。有人能派上用场吗。
【问题讨论】:
标签: java android android-layout android-button