У меня есть набор текстовых представлений, подобных этому ..
TextView d1,d2,d3,d4,d5,d6,d7,d8.....etc
Как я могу установить текст в цикле, как это, увеличивая число после d, как это
for(int i=1;i<=8;++i) { d+i.setText("foo"); }
При этом:
for(int i = 1; i <= 8; i++) { int id = getResources().getIdentifier("d" + i, "id", getPackageName()); TextView tv = (TextView) findViewById(id); tv.setText("foo"); }
метод getIdentifier() получает целочисленный идентификатор View по его идентификатору "имя".Если этот код не находится внутри действия, вы должны предоставить действительные Context для методов getResources() и getPackageName(), например:context.getResources() и context.getPackageName().
getIdentifier()
View
Context
getResources()
getPackageName()
context.getResources()
context.getPackageName()
Вы можете сделать, как показано ниже.
Создать ArrayList<TextView> и добавить все TextView в список.
ArrayList<TextView>
TextView
Затем, после того, как вам нужно сделать цикл с List size.
List
size
, и вы можете обновить текст до TextView.