在TableLayout中动态添加行

时间:2016-02-21 05:45:53

标签: android android-studio rows tablelayout android-tablelayout

每当从不同的类调用此函数时,我想在表中动态添加一行。现在它崩溃了程序。我浏览了很多主题但找不到任何东西。

public void newRow(String time, String cloc, String loc, String contact) {
    TableLayout tl = (TableLayout) findViewById(R.id.table);
    TableRow tr = new TableRow(this);
    TextView t1 = new TextView(this);
    TextView t2 = new TextView(this);
    TextView t3 = new TextView(this);
    TextView t4 = new TextView(this);
    t1.setText(time);
    t1.setText(cloc);
    t1.setText(loc);
    t1.setText(contact);
    tr.addView(t1);
    tr.addView(t2);
    tr.addView(t3);
    tr.addView(t4);
    tl.addView(tr, TableLayout.LayoutParams.WRAP_CONTENT);
}

2 个答案:

答案 0 :(得分:0)

不要在每次调用时创建TableLayout的新实例

答案 1 :(得分:0)

  • 创建TableLayout的全局实例,以便可以访问它 在newRow()方法中。请记住,您只想创建一个 TableLayout并重复向其添加新行。
  • 您正在t1实例上重复调用setText()方法。我不 认为你打算这样做。
  • 发布崩溃日志,以便我可以进一步帮助您。