Массив ImageButton, назначьте R.view.id из переменной

Привет там. Мое приложение будет использовать массив из 64 кнопок ImageButton (8x8), и все они уже объявлены в моем XML-макете с такими именами, как one1, two5, 88 и т. Д. Вместо того, чтобы объявлять их по отдельности в моей Java, я думал, что это Было бы разумно объявить их все в некоторых циклах for. У меня есть

ImageButton musicGrid[][] = new ImageButton [8][8];

Затем у меня есть вложенные циклы for, которые в основном создают строку, которая будет заменять R.id.whatever. Это просто последняя строка в моих циклах, которая должна выполнять назначение. Каким будет правильный синтаксис для этого, или это вообще невозможно (и если да, то как лучше мне обрабатывать сетку из 64 кнопок?). Спасибо!

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);
        }
    }
9
задан Nick 14 October 2010 в 19:57
поделиться