Xin chào. Ứng dụng của tôi sẽ sử dụng một loạt 64 ImageButtons (8x8), và tất cả chúng đều đã được khai báo trong XML Layout của tôi với các tên như one1, two5, eight8, etc. Thay vì khai báo từng cái riêng lẻ trong Java của tôi, tôi nghĩ nó có thể thông minh để tuyên bố tất cả trong một số cho các vòng lặp. Tôi cóMảng của ImageButtons, gán R.view.id từ một biến
ImageButton musicGrid[][] = new ImageButton [8][8];
Sau đó, tôi đã lồng vào các vòng lặp về cơ bản tạo chuỗi sẽ thay thế R.id.whatever. Nó chỉ là dòng cuối cùng trong vòng của tôi, đó là nghĩa vụ phải làm việc chỉ định. Cú pháp chính xác cho điều đó là gì, hoặc là điều này thậm chí không thể làm được (và nếu vậy, tôi sẽ xử lý lưới nút 64 tốt hơn như thế nào?). Cảm ơn!
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);
}
}
Thêm 64 nút vào tệp XML có thể là một cách tiếp cận không tốt. Với bố trí như vậy tại sao không chỉ tạo ra một khung nhìn trong Java và làm tất cả các chương trình? – Falmarri