Я пытаюсь сделать цикл для итерации через TreeMap, получить его значения и отобразить их в TableRow, но его не работает, основная проблема заключается в том, что мне нужно вставить 7 текстовых просмотров в tablerow, а затем создать еще один tablerow с еще 7 текстовыми просмотров и т. д., я также попытался использовать цикл for со значениями из ArrayList, но я не могу понять, как изменить поведение цикла каждый раз, когда добавлено 7 текстовых просмотров.Создайте TableRows, используя данные из TreeMap android
Heres код для TreeMap:
public void mapTest()
{
Map<String, Object[]> data = new TreeMap<String, Object[]>();
data.put("1", new Object[] {"Diego","Diego","Diego","Diego","Diego","Diego","Diego"});
data.put("2", new Object[] {"Barrena","Barrena","Barrena","Barrena","Barrena","Barrena","Barrena"});
Set<String> keyset = data.keySet();
for (String key : keyset)
{
Object [] objArr = data.get(key);
for (Object obj : objArr)
{
TableRow newRow = new TableRow(this);
newRow.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
TextView newText = new TextView(this);
newText.setText((String)obj);
newText.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
newRow.addView(newText);
}
}
}
Вот код для цикла с ArrayList:
public void addItemsTable(){
addToPrueba();
// reference the table layout
TableLayout tbl = (TableLayout)findViewById(R.id.Employees);
TableRow newRow = new TableRow(this);
newRow.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
for(int i = 0; i<prueba.size(); i++) {
TextView newText = new TextView(this);
newText.setText(prueba.get(i));
newText.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
newRow.addView(newText);
}
tbl.addView(newRow);
}