以编程方式获取增量布局 ID

Getting an incremental layout id programatically

我有一组这样的文本视图..

TextView d1,d2,d3,d4,d5,d6,d7,d8.....etc

我怎样才能像这样通过增加 d 后面的数字来像这样在循环中设置文本

for(int i=1;i<=8;++i)
 {
      d+i.setText("foo");

  }

你可以像下面那样做。

创建 ArrayList<TextView> 并将所有 TextView 添加到列表中。

然后你必须用 List size.

做循环

您可以将文本更新为 TextView

有了这个:

for(int i = 1; i <= 8; i++) {
    int id = getResources().getIdentifier("d" + i, "id", getPackageName());
    TextView tv = (TextView) findViewById(id);
    tv.setText("foo");
  }

方法 getIdentifier() 通过其 id "name".
获取 View 的整数 id 如果此代码不在 activity 内,您必须为方法 getResources()getPackageName() 提供有效的 Context,例如:
context.getResources()context.getPackageName().