Заполнение таблиц в Android
Заполняю таблицу из трёх столбцов. Данные правильно распределяются по столбцам только для первого совпадения, второе и все остальные совпадения складываются в первый столбец. Помогите исправить.
private TableLayout TblLay;
private TableRow TblRow;
private TextView tmc, inv, sn;
TblLay = (TableLayout) findViewById(R.id.tbllayout);
TblLay.setStretchAllColumns(true);
TblLay.setShrinkAllColumns(true);
tmc = findViewById(R.id.tmc);
inv = findViewById(R.id.invid);
sn = findViewById(R.id.sn);
Elements elements = doc.select("input[name=text]");
for (int j = 0; j < elements.size(); j++) {
Element txt = elements.get(j);
String text = txt.attr("value");
tmc.setText(text);
tmc = new TextView(MyThngsTblActivity.this);
TblLay.addView(tmc);
Elements select = doc.select("input[name=invid]");
for (int i = j; i <= j; i++) {
Element invs = select.get(i);
String invid = invs.attr("value");
inv.setText(invid);
inv = new TextView(MyThngsTblActivity.this);
TblLay.addView(inv);
Elements select1 = doc.select("input[name=sn]");
for (int k = i; k <= i; k++) {
Element snss = select1.get(k);
String sns = snss.attr("value");
sn.setText(sns);
sn = new TextView(MyThngsTblActivity.this);
TblLay.addView(sn);
}
}
}
Ответы (1 шт):
Автор решения: kent
→ Ссылка
Согласен, что вложенные циклы не очень способ, но для небольшого объёма данных сойдёт.
Elements elements = doc.select("input[name=text]");
for (int j = 0; j < elements.size(); j++) {
TableRow tableRow = new TableRow(MyThngsTblActivity.this);
Element txt = elements.get(j);
String text = txt.attr("value");
tmc.setText(text);
tmc = new TextView(MyThngsTblActivity.this);
tableRow.addView(tmc);
TblLay.addView(tableRow);
Elements select = doc.select("input[name=invid]");
TableRow tableRow2 = new TableRow(MyThngsTblActivity.this);
for (int i = j; i <= j; i++) {
Element invs = select.get(i);
String invid = invs.attr("value");
inv.setText(invid);
inv = new TextView(MyThngsTblActivity.this);
tableRow.addView(inv);
TblLay.addView(tableRow2);
Elements select1 = doc.select("input[name=sn]");
for (int k = i; k <= i; k++) {
TableRow tableRow3 = new TableRow(MyThngsTblActivity.this);
Element snss = select1.get(k);
String sns = snss.attr("value");
sn.setText(sns);
sn = new TextView(MyThngsTblActivity.this);
tableRow.addView(sn);
TblLay.addView(tableRow3);
}
}
}

