Цикл через множество переменных

У меня есть 48 переменных (TextViews), таких как tv1, tv2, tv3, tv4 … tv48.

Я хочу установить значение для этих переменных с циклом for, так как я не хочу записывать одну и ту же строку 48 раз.

Что-то вроде этого:

for (int i=1; i<49; i++) { "tv"+i.setText(i); } 

Как достичь этого?

Инициализируйте их следующим образом:

 TextView[] tv = new TextView[48]; 

Затем вы можете установить в них текст, используя for цикл:

 for(int i=0; i<48; i++) { tv[i].setText("your text"); } 

РЕДАКТИРОВАТЬ: В вашем XML-файле укажите идентичные идентификаторы для всех текстовых просмотров. Например, tv0, tv1, tv2 и т. Д. Инициализируйте строковый массив, который будет иметь эти идентификаторы в виде строки.

 String ids[] = new String[48]; for(int i=0; i<48; i++) { ids[i] = "tv" + Integer.toString(i); } 

Теперь, чтобы инициализировать массив TextView , сделайте следующее:

 for(int i=0; i<48; i++) { int resID = getResources().getIdentifier(ids[i], "id", "your.package.name"); tv[i] = (TextView) findViewById(resID); } 
 TextView[] textViews = new TextView[48]; int[] ids = new int[48]; for(int i=0;i<48;i++) { textViews[i] = (TextView) findViewById(ids[i]); } for(int i=0;i<48;i++) { textViews[i].setText(String.valueOf(i)); } 

Здесь вам нужно будет добавить все идентификаторы в массив ids .

 "tv"+i 

Может использоваться только с Reflection.

Я бы поставил эти TextViews в массив и

 for (int i=0; i<textViews.length; i++) { textViews[i].setText(""+i);//be a String. not an int... } 

Я бы использовал, где textViews = new TextViews[]{tv1,tv2..tv48}

Я надеюсь, что это помогает!