如何在android中创建动态数据表?

Nic*_*aro 6 java xml android

我已经浏览了TableLayouts和其他类似的东西的教程,但所有这些似乎被编程为带有textview的静态行数.我想知道是否有可能创建一个简单的数据表,包含3列和一组可变行,我可以在Java代码中添加/删除项目.

基本上,有这样的事情:

DATA DATA DATA
row1 data data
row2 data data
Run Code Online (Sandbox Code Playgroud)

并使用活动的Java类中的对象数组填充此表.稍后,如果我想添加另一个对象,它将只创建另一行.

例如,如果我在java中有这个:

Class data{
    public data(String d1, String d2, String d3){
     data1=d1;
     data2=d2;
     data3=d3;
}
}
Run Code Online (Sandbox Code Playgroud)

这在活动类中:

Class activity{
data info[] = {
new data("row1", "row1", "row1"), new data("row2","row2","row2"),
new data("row3","row3","row3")};
}
}
Run Code Online (Sandbox Code Playgroud)

我将使用for循环将此数据添加到活动的表中,而不管我需要多少行才能适合它.如果我添加row4的新对象,它将只添加另一行,并以:

row1 row1 row1
row2 row2 row2
row3 row3 row3
Run Code Online (Sandbox Code Playgroud)

我希望我没有太模糊......提前谢谢,伙计们!:)

Nic*_*aro 21

我觉得非常愚蠢,但我自己想出来了.

我只是通过一个从0到myArray.Length()的for循环在我的内部创建了一个动态添加的行.

巴姆:

 TableLayout prices = (TableLayout)findViewById(R.id.prices);
    prices.setStretchAllColumns(true);
    prices.bringToFront();
    for(int i = 0; i < drug.length; i++){
        TableRow tr =  new TableRow(this);
        TextView c1 = new TextView(this);
        c1.setText(drug[i].getName());
        TextView c2 = new TextView(this);
        c2.setText(String.valueOf(drug[i].getPrice()));
        TextView c3 = new TextView(this);
        c3.setText(String.valueOf(drug[i].getAmount()));
        tr.addView(c1);
        tr.addView(c2);
        tr.addView(c3);
        prices.addView(tr);
    }
Run Code Online (Sandbox Code Playgroud)

这是一场毒品战争风格的游戏......试着在游戏开发领域开始小规模.

但是......她工作,完全按照我的意愿行事.现在我可以将它包装成一个单独的方法并随时更新它.如果我想添加一行,我只需添加一个数组条目.

想我会回答我自己的问题......哈哈!