Помимо хранения массива или списка EditTexts, вы также можете прикрепить уникальный тег к каждому из них.
for(int i = 0; i < MatrixMultiply.h1; i++){
TableLayout table = (TableLayout)findViewById(R.id.myTableLayout);
TableRow row = new TableRow(this);
EditText column = new EditText(this);
for(int j = 0; j < MatrixMultiply.w1; j++){
table = (TableLayout)findViewById(R.id.myTableLayout);
column = new EditText(this);
column.setId(i);
column.setTag(new Point(i, j));
row.addView(column);
}
table.addView(row);
}
Затем позже:
Point currentRowColumn = new Point(0, 0);
int currentRow = 0;
int currentColumn = 0;
EditText currentEditText = findViewWithTag(currentRowColumn);
while (currentEditText != null) {
while (currentEditText != null) {
String text = currentEditText.getText().toString();
// Do stuff with the text here.
currentRowColumn.y += 1;
currentEditText = findViewWithTag(currentRowColumn);
}
// If we reach here, then findViewWithTag returned null,
// meaning we've finished the row. Move on to the next row.
currentRowColumn.x += 1;
currentRowColumn.y = 0;
currentEditText = findViewWithTag(currentRowColumn);
}
Есть некоторые уродливые повторениятам я могу перепутать столбцы и строки, и пример, возможно, неправильно использует android.graphics.Point
(хотя тег может быть любым объектом), но в основном это показывает идею.Если вы сохранили количество столбцов и строк, вложенные циклы while можно преобразовать в гораздо более симпатичные вложенные циклы.