Dynamisches Hinzufügen und Entfernen von Tabellenzeilen – Android

Ich versuche, Zeilen aus einem TableLayout dynamisch hinzuzufügen und zu entfernen.

Das Layout ist in einer XML-Datei definiert.

  • Android: wie man ein Element aus einer listView und arrayAdapter entfernt
  • StartVoiceRecognition mit Bluetooth-Headset funktioniert nicht
  • Was ist intel x86 atom system bild in android sdk manager?
  • Was ist die praktische Anwendbarkeit von PhoneGap?
  • Facebook SDK 3.0 - Holen Sie sich Facebook User ID und Access Token
  • Cordova Android-Projekt wird nicht kompiliert
  • Ich kann eine Zeile erfolgreich entfernen, aber wenn ich den entsprechenden addView-Befehl anrufe, passiert nichts.

    table = (TableLayout)findViewById(R.id.table); row = (TableRow)findViewById(R.id.row); table.removeView(row); table.addView(row); 

    Dies führt dazu, dass eine Zeile entfernt wird, aber nicht wieder hinzugefügt wird.

    Bearbeiten: Es stellt sich heraus, dass es fügte hinzu, wenn überhaupt, nur am unteren Rand des Bildschirms anstatt an der gleichen Stelle, wie es aus entfernt wurde.

    Ich kann es in der richtigen Position hinzufügen, indem ich den Index spezifiziere:

     table.addView(row,4); // 4 happens to the the row 

    Aber ich kann nicht herausfinden, wie man den Index der Zeile bestimmt, es scheint nicht, eine Methode zu sein, um dies zu erreichen. Wer weiß, wie geht das? (Dh wenn ich nicht wusste, dass der Index 4 war, wie könnte ich das herausfinden)

    Bearbeiten: enthaltenes XML. Dies ist nur die Zeile in Frage, da sind noch andere Zeilen über und darunter

     <TableRow android:id="@+id/row"> <TextView android:id="@+id/field1" android:text="testing" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:textStyle="bold" android:textSize="18dip" /> <TextView android:id="@+id/field2" android:padding="3dip" android:text="test" android:textSize="18dip" android:gravity="right" /> </TableRow> 

  • Horizontale LinearGradient mit Android
  • Android Studio - Erstellen von Modulen ohne Kopieren von Dateien?
  • Starten Sie benutzerdefinierte Android-Anwendung aus Android-Browser
  • Android Video Streaming - Gerät unterstützt?
  • Android: Wie man Android Emulator für Nexus10?
  • Ist es möglich, MMS zu verwenden, um Internetradio in Android zu streamen?
  • 2 Solutions collect form web for “Dynamisches Hinzufügen und Entfernen von Tabellenzeilen – Android”

    Verwenden Sie hierarchyviewer (in Ihrem SDK- tools/ -Verzeichnis), um festzustellen, ob die Zeile wirklich nicht hinzugefügt wird oder wird hinzugefügt, aber einige Layoutparameter werden durcheinander gebracht und so wird es nicht auf dem Bildschirm angezeigt.

     public int indexOfChild (View child) public View getChildAt (int index) 

    Beide Methoden von TableLayout zur Verfügung gestellt. 😉

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.