Java 使用树状图中的数据创建表行
我试图循环遍历树映射,获取其值并将其显示在TableRow中,但它不起作用,我遇到的主要问题是我需要在TableRow中插入7个TextView,然后用另外7个TextView创建另一个TableRow,依此类推,我还尝试使用带有ArrayList值的for循环,但我不知道如何在每次添加7个TextView时更改循环的行为 下面是树形图的代码:Java 使用树状图中的数据创建表行,java,android,for-loop,treemap,tablerow,Java,Android,For Loop,Treemap,Tablerow,我试图循环遍历树映射,获取其值并将其显示在TableRow中,但它不起作用,我遇到的主要问题是我需要在TableRow中插入7个TextView,然后用另外7个TextView创建另一个TableRow,依此类推,我还尝试使用带有ArrayList值的for循环,但我不知道如何在每次添加7个TextView时更改循环的行为 下面是树形图的代码: public void mapTest() { Map<String, Object[]> data = new 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);
}
}
}
public void映射测试()
{
映射数据=新树映射();
数据.put(“1”,新对象[]{“迭戈”、“迭戈”、“迭戈”、“迭戈”、“迭戈”、“迭戈”、“迭戈”});
数据.put(“2”,新对象[]{“barlea”、“barlea”、“barlea”、“barlea”、“barlea”、“barlea”、“barlea”});
Set keyset=data.keyset();
用于(字符串键:键集)
{
Object[]objArr=data.get(key);
用于(对象对象对象:对象对象对象)
{
TableRow newRow=新的TableRow(本);
newRow.setLayoutParams(新建TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_父级,TableLayout.LayoutParams.WRAP_内容));
TextView newText=新的TextView(此);
newText.setText((字符串)obj);
newText.setLayoutParams(新的TableRow.LayoutParams(TableRow.LayoutParams.MATCH_父项,TableRow.LayoutParams.WRAP_内容));
addView(newText);
}
}
}
以下是带有arraylist的for循环的代码:
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);
}
public void addItemsTable(){
addToPrueba();
//参考表格布局
TableLayout tbl=(TableLayout)findViewById(R.id.Employees);
TableRow newRow=新的TableRow(本);
newRow.setLayoutParams(新建TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_父级,TableLayout.LayoutParams.WRAP_内容));
对于(inti=0;i任何与此相关的人来说,这就是有效的代码
public void mapPrueba()
{
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();
TableLayout tbl = (TableLayout)findViewById(R.id.Employees);
for (String key : keyset)
{
TableRow newRow = new TableRow(this);
newRow.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
Object [] objArr = data.get(key);
for (Object obj : objArr)
{
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);
}
tbl.addView(newRow);
}
}
public void mapPrueba()
{
映射数据=新树映射();
数据.put(“1”,新对象[]{“迭戈”、“迭戈”、“迭戈”、“迭戈”、“迭戈”、“迭戈”、“迭戈”});
数据.put(“2”,新对象[]{“barlea”、“barlea”、“barlea”、“barlea”、“barlea”、“barlea”、“barlea”});
Set keyset=data.keyset();
TableLayout tbl=(TableLayout)findViewById(R.id.Employees);
用于(字符串键:键集)
{
TableRow newRow=新的TableRow(本);
newRow.setLayoutParams(新建TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_父级,TableLayout.LayoutParams.WRAP_内容));
Object[]objArr=data.get(key);
用于(对象对象对象:对象对象对象)
{
TextView newText=新的TextView(此);
newText.setText((字符串)obj);
newText.setLayoutParams(新的TableRow.LayoutParams(TableRow.LayoutParams.MATCH_父项,TableRow.LayoutParams.WRAP_内容));
addView(newText);
}
tbl.addView(新罗);
}
}
希望有人觉得这个有用