Sasith Priyankara
Sasith Priyankara

Reputation: 45

How to create multiple objects using for loop and array

I'm new to android and creating an app that have 30 spinners that share same content. How can I create these objects inside a loop without writing 30 lines ?

Spinner spinner_grade_1 = (Spinner) findViewById(R.id.spinner_grade_1);
Spinner spinner_grade_2 = (Spinner) findViewById(R.id.spinner_grade_2);
......
Spinner spinner_grade_30 = (Spinner) findViewById(R.id.spinner_grade_20);

instead of that how can I create these objects inside a loop ? (I have created the following string array)

gradeBoxNames = new String[]{"spinner_grade_1", "spinner_grade_2",..... };

Upvotes: 1

Views: 1155

Answers (2)

Marcin Bortel
Marcin Bortel

Reputation: 1259

use Butterknife library:

@Bind({ R.id.first_name, R.id.middle_name, R.id.last_name })
List<EditText> nameViews;

Upvotes: 1

Syed Qasim Ahmed
Syed Qasim Ahmed

Reputation: 1362

1) Initialize array of Resource ids

 int[] ids = {R.id.spinner_grade_1,R.id.spinner_grade_2};
        Spinner[] spinners = new Spinner[ids.length];


    for(int i=0 ;i< ids.length;i++) {
               spinners[i] = (Spinner) findViewById(ids[i]);
            }

Upvotes: 2

Related Questions