Hey there. My application will use an array of 64 ImageButtons (8x8), and all of them are already declared in my XML layout with names like one1, two5, eight8, etc. Instead of declaring them each separately in my Java, I thought it might be smart to declare them all in some for loops. I have
ImageButton musicGrid[][] = new ImageButton [8][8];
Then I have my nested for loops, which basically create a string that will be instead of R.id.whatever. This is only the last line in my loops that should do the assignment. What will be the correct syntax for this, or is it impossible to do at all (and if so, how much better will I handle a grid with 64 buttons?). Thank!
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); } }
android arrays imagebutton
Nick Oct. 14 '10 at 19:57 2010-10-14 19:57
source share