android-Set Höhe von TableLayout

Habe ich ein TableLayout mit nur einer einzigen Zeile (also die Kopfzeile) in XML. Alle anderen Zeilen füge ich dynamisch.
XML TEIL :

    <TableLayout android:id="@+id/list_table" 
    android:layout_width="match_parent" android:layout_height="wrap_content" 
    android:stretchColumns="1" android:background="#808000" **android:scrollbars="vertical">**
    <TableRow android:layout_margin="1dp" android:layout_height="wrap_content" 
    android:layout_width="wrap_content" android:id="@+id/list_head_Row">
        <TextView android:layout_width="wrap_content"  
        android:text="Col1" android:layout_height="wrap_content"></TextView>
        <TextView android:gravity="center" android:layout_width="wrap_content" android:text="Col2" android:layout_height="wrap_content"></TextView>
        <TextView android:layout_width="wrap_content" android:text="Col3"  android:layout_height="wrap_content"></TextView>
    </TableRow>
</TableLayout>

In der Activity-Klasse, ich hinzufügen TableRows :

TableRow tr = new TableRow(this);
tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
//Add 3 TextViews
//Add Row to table
t1.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,             LayoutParams.WRAP_CONTENT));

Mit diesem viel allen Zeilen, die Hinzugefügt wird, auf den Tisch und füllt den Bildschirm. Ich will eingestellt ist, anzeigen nur 4-5 Zeilen und andere, die kann gerollt werden.Für die, die ich Hinzugefügt :

    int tableHgt = t1.getChildAt(0).getHeight() + (rowHgt *40);
    t1.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, tableHgt));

Mit diesem kann ich nicht sehen, jede Zeile, außer der header-Zeile in xml. Wie kann ich die Höhe sehen nur 5 Zeilen und othe alle können gescrollt werden ? In TableLayout android:scrollbars="vertical" wird ebenfalls Hinzugefügt.

Wohin gehe ich falsch ?

Jede Hilfe wird sehr geschätzt.

Dank

richtig ist auch, das ListView ist ein weit mehr schöne Lösung, sollten Sie es.
Ich habe nicht gefunden, dass in der Listenansicht, kann ich hinzufügen, verschiedene cols geben Sie die Daten wie kann ich in TableLayout. Zusätzlich zur Auswahl einer Zeile in der Tabelle ganze Zeile ausgewählt, die nicht auftreten, in der ListView. Aufgrund dieser 2 wichtigsten Punkte, die ich ging für TableLayout.

InformationsquelleAutor Tvd | 2011-04-14

Schreibe einen Kommentar