because you are adding same object tv0
in tr.addView(tv0)
, now second time in loop tr
trying to add same object which have already parent tr
self. so second time tv0
have already parent tr
so it can not be added and throw exception.
try this it will work and replace with your code
TableLayout tl = (TableLayout) findViewById(R.id.debtListTableView);
TableRow tr = new TableRow(this);
TextView tv1 = new TextView(this);
TextView tv2 = new TextView(this);
TextView tv3 = new TextView(this);
if (debtName[i] == null && extras != null)
{
debtName[i] = extras.getString("debtName");
debtAmount[i] = extras.getString("debtAmount");
debtRate[i] = extras.getString("debtRate");
debtPayment[i] = extras.getString("debtPayment");
}
tv1.setText("" + debtName[i]);
tv2.setText("" + debtAmount[i]);
tv3.setText("" + debtPayment[i]);
tr.addView(t1);
tr.addView(t2);
tr.addView(t3);
tl.addView(tr);
for (int i=0;i<10;i++)
{
TableRow tr = new TableRow(this);
TextView tv0 = new TextView(this);
TableRow.LayoutParams trlp = new TableRow.LayoutParams();
trlp.span = 3;
tr.setLayoutParams(trlp);
tv0.setText("row "+(i+1));
tr.addView(tv0);
tl.addView(tr);
}