我有一个包含24个TextView的屏幕,我想更改其值。我只需要从每个文本字段更改值的顺序无关紧要。现在我的代码如下:
textView = (TextView) findViewById(R.id.textView1);
textView.setText(value1);
textView = (TextView) findViewById(R.id.textView2);
textView.setText(value2);
textView = (TextView) findViewById(R.id.textView3);
textView.setText(value3);
textView = (TextView) findViewById(R.id.textView4);
textView.setText(value4);
etc...
TextViews的数量常量为24.我正在寻找一个循环解决方案但是我遇到的问题是动态获取R.id.textViewX值id。是否有一种简单的方法可以实现这一点,以便我可以通过以下方式使用它:
// Somehow get textViewArray of textView id's //
for(int i=0;i<textViewArray.length;i++) {
textView = (TextView) findViewById(textViewArray[i]);
textView.setText(value[i])
}
我愿意在Activity类中动态创建文本字段,但我正在寻找XML解决方案。我不确定是否可以使用数组类来完成。我已经看到这对@drawables已经完成了但从来没有用于id的
需要注意的是,textView不在列表中。
答案 0 :(得分:1)
使用getIdentifier()
方法:
for (int i = 0; i < 24; i++) {
int id = getResources().getIdentifier("textView" + i, "id", getPackageName());
TextView textView = (TextView) findViewById(id);
textView.setText("Set text");
}