2012-06-29 35 views
0

我已經寫了這段代碼,將textview添加到錶行中,但是我的行數有問題,我所做的錶行數是常量(5行),我想要的是表的數量行是動態的。所以我想循環這段代碼,但我不知道如何。你能教我怎麼做嗎?謝謝:)如何循環表格行的addview?

這裏是代碼:

TableRow row0 = new TableRow(this); 
    TableRow row1 = new TableRow(this); 
    TableRow row2 = new TableRow(this); 
    TableRow row3 = new TableRow(this); 
    TableRow row4 = new TableRow(this); 

    row0.addView(createTextView(listTipe.get(0).getType())); 
    row1.addView(createTextView(listTipe.get(1).getType())); 
    row2.addView(createTextView(listTipe.get(2).getType())); 
    row3.addView(createTextView(listTipe.get(3).getType())); 
    row4.addView(createTextView(listTipe.get(4).getType())); 

    row0.addView(createTextView(listTotal1.get(0).getTotal())); 
    row1.addView(createTextView(listTotal1.get(1).getTotal())); 
    row2.addView(createTextView(listTotal1.get(2).getTotal())); 
    row3.addView(createTextView(listTotal1.get(3).getTotal())); 
    row4.addView(createTextView(listTotal1.get(4).getTotal())); 

    row0.addView(createTextView(listTotal2.get(0).getTotal())); 
    row1.addView(createTextView(listTotal2.get(1).getTotal())); 
    row2.addView(createTextView(listTotal2.get(2).getTotal())); 
    row3.addView(createTextView(listTotal2.get(3).getTotal())); 
    row4.addView(createTextView(listTotal2.get(4).getTotal())); 

    row0.addView(createTextView(listTotal3.get(0).getTotal())); 
    row1.addView(createTextView(listTotal3.get(1).getTotal())); 
    row2.addView(createTextView(listTotal3.get(2).getTotal())); 
    row3.addView(createTextView(listTotal3.get(3).getTotal())); 
    row4.addView(createTextView(listTotal3.get(4).getTotal())); 

    row0.addView(createTextView(listUang1.get(0).getUang())); 
    row1.addView(createTextView(listUang1.get(1).getUang())); 
    row2.addView(createTextView(listUang1.get(2).getUang())); 
    row3.addView(createTextView(listUang1.get(3).getUang())); 
    row4.addView(createTextView(listUang1.get(4).getUang())); 

    row0.addView(createTextView(listUang2.get(0).getUang())); 
    row1.addView(createTextView(listUang2.get(1).getUang())); 
    row2.addView(createTextView(listUang2.get(2).getUang())); 
    row3.addView(createTextView(listUang2.get(3).getUang())); 
    row4.addView(createTextView(listUang2.get(4).getUang())); 

    row0.addView(createTextView(listUang3.get(0).getUang())); 
    row1.addView(createTextView(listUang3.get(1).getUang())); 
    row2.addView(createTextView(listUang3.get(2).getUang())); 
    row3.addView(createTextView(listUang3.get(3).getUang())); 
    row4.addView(createTextView(listUang3.get(4).getUang())); 

    tableLayout.addView(row0); 
    tableLayout.addView(row1); 
    tableLayout.addView(row2); 
    tableLayout.addView(row3); 
    tableLayout.addView(row4); 

    } 

    private TextView createTextView(String text) { 
    TextView textView = new TextView(this); 
    textView.setText(text); 
    textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15); 
    textView.setTypeface(null, Typeface.BOLD); 
    textView.setPadding(0, 0, 15, 0); 
    return textView; 

    } 

回答

2
for (int i = 0; i < 5; i++) { 
    TableRow tableRow = new TableRow(this); 
    tableRow.addView(createTextView(listTipe.get(i).getType()); 
    tableRow.addView(createTextView(listTotal1.get(i).getTotal())); 
    tableRow.addView(createTextView(listTotal2.get(i).getTotal())); 
    tableRow.addView(createTextView(listTotal3.get(i).getTotal())); 
    tableRow.addView(createTextView(listTotal1.get(i).getUang())); 
    tableLayout.addView(tableRow); 
} 
+0

它的工作原理,謝謝:) – blankon91