Я пытаюсь сделать простое приложение.
У меня есть таблица с одной строкой и семью кнопками в этой строке.
Я знаю, что мне не нужен массив 2d, но я бы хотел его использовать.
Так что я могу расширить это позже очень легко.Как использовать getResources(). GetIdentifier для получения идентификатора Button?
Я использую
int resID = getResources().getIdentifier("button" + i + h, "button", getPackageName());
, чтобы попытаться получить идентификатор ресурса от кнопки.
Мои кнопки называются «button00, button01, button02 и т. Д. (Это точно так, как есть в R.java).
Числа представляют собой строку и столбец соответственно. Я видел, как люди использовали это раньше, но для некоторых Поэтому я никогда не могу заставить его работать.
Вот мой код класса огни
public class lights extends Activity implements OnClickListener {
public int numRows;
public int numCol;
public lights(int rows, int col) {
numRows = rows;
numCol = col;
}
public void createButtonListeners(Button[][] button) {
for (int i = 0; i < numRows; i++) {
for (int h = 0; h < numCol; h++) {
int resID = getResources().getIdentifier("button" + i + h, "button", getPackageName());
button[i][h] = (Button) findViewById(resID);
button[i][h].setOnClickListener((View.OnClickListener) this);
Toast.makeText(getBaseContext(), "Made listener", Toast.LENGTH_LONG).show();
}
}
}
public void reset(Array buttons[][]) {
for (int r = 0; r < numRows; r++) {
for (int c = 0; c < numCol; c++) {
//havnt got this far
}
}
}
public int wasButtonPressed() {
for (int row = 0; row < numRows; row++) {
}
return 0;
}
@Override
public void onClick(DialogInterface dialog, int which) {
}}
код для Main_Activity
public class MainActivity extends Activity implements View.OnClickListener {
lights mlights = new lights(1, 7);
Button Button[][] = new Button[mlights.numRows][mlights.numCol];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mlights.createButtonListeners(Button);
}
@Override
public void onClick(View v) {
}}
у меня есть нет ошибок при вводе кода, но он не запускается.
Пожалуйста, исправьте меня любым возможным способом.
Возможный дубликат [Android, получение идентификатора ресурса из строки?] (Http://stackoverflow.com/questions/4427608/android-getting-resource-id-from-string) –