Ehi lì. La mia app userà una serie di 64 ImageButtons (8x8), e sono già tutti dichiarati nel mio layout XML con nomi come one1, two5, eight8, ecc. Invece di dichiararli singolarmente nel mio Java ho pensato che potrebbe essere intelligente per dichiararli tutti in alcuni loop. HoMatrice di ImageButtons, assegna R.view.id da una variabile
ImageButton musicGrid[][] = new ImageButton [8][8];
Poi ho la mia cicli for innestati che in fondo creano una stringa che sarà al posto di R.id.whatever. E 'solo l'ultima riga nei miei loop, che dovrebbe fare l'assegnazione. Quale sarebbe la sintassi corretta per quello, o non è nemmeno possibile farlo (e se sì, quanto sarebbe meglio gestire una griglia a 64 pulsanti?). Grazie!
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
String btnID = "R.id.";
switch(i) {
case 0: btnID.concat("one"); break;
case 1: btnID.concat("two"); break;
case 2: btnID.concat("three"); break;
case 3: btnID.concat("four"); break;
case 4: btnID.concat("five"); break;
case 5: btnID.concat("six"); break;
case 6: btnID.concat("seven"); break;
case 7: btnID.concat("eight"); break;
}
switch(j) {
case 0: btnID.concat("1"); break;
case 1: btnID.concat("2"); break;
case 2: btnID.concat("3"); break;
case 3: btnID.concat("4"); break;
case 4: btnID.concat("5"); break;
case 5: btnID.concat("6"); break;
case 6: btnID.concat("7"); break;
case 7: btnID.concat("8"); break;
}
musicGrid[i][j] = (ImageButton) findViewById(btnID);
}
}
L'aggiunta di 64 pulsanti a un file XML è probabilmente un approccio errato. Con layout del genere, perché non creare una vista in Java e farlo tutto in modo programmatico? – Falmarri