这是我的第一个问题。我在Android上写了一个简单的游戏(我的第一个)。这是一个有64个领域的棋盘游戏。现在,每次点击一个字段时,都需要完成某些操作。我想办法以这种方式做到这一点:
switch(v.getId()) {
case R.id.field1:
...
...
...
}
它正在工作,但它对64个领域有点烦人。我可以以某种方式检索字段ID并在循环中执行吗?
findViewById(R.id.field+i).doSomething();
我知道不可能这样做,我只是想说明我的想法。以下内容将在Javascipt中进行,但如何在Java中进行?有可能吗?
答案 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视图。