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

то как добавить TableRow в TableLayout? –

+0

Проводка таблицы размещения экземпляра тоже. – Mursaleen

+0

Его все еще сбой –

0
  • Создать глобальный экземпляр TableLayout так, что он будет доступен в NewRow() метод. Помните, что вы хотели бы создать только один TableLayout и многократно добавлять к нему новые строки.
  • Вы повторно вызываете метод setText() в экземпляре t1. У меня нет думаю, что вы намереваетесь это сделать.
  • Опубликуйте журналы сбоев, чтобы я мог помочь вам дальше.
Смежные вопросы