1

这是我在这里的第一个问题。我正在 Android 上写一个简单的游戏(我的第一个)。这是一个有 64 个字段的棋盘游戏。现在,每次单击一个字段时,都需要做一些事情。我想出了一种方法来做到这一点:

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

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

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

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

4

1 回答 1

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 视图。

于 2012-12-25T14:23:37.890 回答