用循环处理棋盘游戏领域?

时间:2012-12-25 11:52:17

标签: java android

这是我的第一个问题。我在Android上写了一个简单的游戏(我的第一个)。这是一个有64个领域的棋盘游戏。现在,每次点击一个字段时,都需要完成某些操作。我想办法以这种方式做到这一点:

switch(v.getId()) {
case R.id.field1:
...
...
...
}

它正在工作,但它对64个领域有点烦人。我可以以某种方式检索字段ID并在循环中执行吗?

findViewById(R.id.field+i).doSomething();

我知道不可能这样做,我只是想说明我的想法。以下内容将在Javascipt中进行,但如何在Java中进行?有可能吗?

1 个答案:

答案 0 :(得分:0)

AFAIK使用Eclipse中的Android布局编辑器无法做到这一点。最简单的方法是以编程方式创建视图并将它们存储在集合或数组中:

TextView[] fields = new TextView[64];
for (int i = 0; i < 64; i++) {
    TextView textView = new TextView(context);
    textView.setText("Programmatic TextView");
    parentLayout.addView(textView, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    fields[i] = textView;
}

您可以在布局编辑器中创建parentLayout视图。