0

我想在一個表中動態地添加一行,只要這個函數是從不同的類中調用的。現在它使程序崩潰。我瀏覽了很多主題,但找不到任何東西。在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); 
} 

回答

0

不要在每次調用創建TableLayout的新實例

+0

那麼我該如何在TableLayout中添加TableRow? –

+0

也將表格佈局實例傳遞給方法。 – Mursaleen

+0

它仍然崩潰 –

0
  • 創建TableLayout的全局實例,以便它可以被訪問的NEWROW ()方法。請記住,您只需創建一個TableLayout並重復向其添加新行。
  • 您正在t1實例上重複調用setText()方法。我不想 認爲你打算這樣做。
  • 發佈崩潰日誌,以便我可以進一步幫助您。