Reputation: 45
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
Reputation: 1259
use Butterknife library:
@Bind({ R.id.first_name, R.id.middle_name, R.id.last_name })
List<EditText> nameViews;
Upvotes: 1
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