Höhe von ListView füllt den ganzen Bildschirm, obwohl als wrap_content gesetzt

Ich habe diese ListView in einem LinearLayout:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView .../> <EditText /> ... </EditText> <ListView android:id="@+id/words_list" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout> 

Die Liste wird programmgesteuert durch einen SimpleCursorAdapter aufgefüllt:

  • Größe einer Leinwand
  • Wie kann man OnClickListener auf einem RadioButton in Android setzen?
  • Wie man automatisch zum nächsten Bearbeitungstext in android wechselt
  • Wie fülle ich jede Seite eines Würfels mit verschiedenen Texturen auf OpenGL ES 1.1?
  • Verwenden Sie das Android InApp Billing V3 Beispiel. Hit Buy, Back Button, und kaufen wieder verursacht Fehler
  • Einstellen der maximalen Zoomstufe in Google Maps android api v2
  •  adapter = new SimpleCursorAdapter(this, R.layout.list_row_search, mCursor, from, to); 

    List_row_search hat ein TableLayout mit zwei TableRows:

     <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/TableLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <View android:layout_height="1dip" android:background="#FF33B5E5" /> <TableRow android:id="@+id/tableRow1" android:layout_height="wrap_content" > <TextView android:id="@+id/list_lesson" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:padding="1dip" android:textSize="12sp" /> <TextView android:id="@+id/list_name" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="5.25" android:padding="1dip" android:paddingRight="10dp" android:textSize="18sp" android:textStyle="bold" /> <TextView android:id="@+id/list_flex" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="12.5" android:padding="1dip" android:paddingRight="10dp" /> <TextView android:id="@+id/list_rom" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="6.25" android:padding="1dip" android:paddingRight="10dp" /> </TableRow> <View android:layout_height="0.1dip" android:background="#404040" /> <TableRow android:id="@+id/tableRow2" android:layout_height="wrap_content" > <TextView android:id="@+id/list_related" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:paddingRight="10dp" android:textStyle="italic" /> <TextView android:id="@+id/list_ant" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:paddingRight="10dp" /> <TextView android:id="@+id/list_engl" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:paddingRight="10dp" /> </TableRow> <View android:layout_height="1dip" android:background="#FF33B5E5" /> </TableLayout> 

    Jetzt, wenn die Liste belegt wird, nimmt die ListView den Lochbildschirm ein, auch wenn nur ein Element in der Datenbank gefunden wurde. Die HierarchyView in Eclipse zeigt ziemlich klar, dass die ListView diejenige ist, die den Bildschirm ausfüllt.

    Kannst du sagen, wo das Problem ist? Dank für Ihre Zeit!

  • Wie verstehe ich die VIPER saubere Architektur?
  • CardView Eckenradius
  • Wie kann ich mehrere Textzeilen auf einer Schaltfläche anzeigen
  • Wie man die oberfläche sichtbar macht
  • Android-Hilfe beim Ändern der Schaltfläche Schriftart, wie?
  • Manifest Fusion fehlgeschlagen: uses-sdk: minSdkVersion 8 kann nicht kleiner sein
  • 2 Solutions collect form web for “Höhe von ListView füllt den ganzen Bildschirm, obwohl als wrap_content gesetzt”

    Sie sollten wrap_content für die Höhe eines ListView . wrap_content bedeutet "mach mich so groß wie nötig, um alle meine Kinder zu halten." Wenn man bedenkt, dass Ihr Datensatz potenziell sehr groß sein könnte, sollte das wie eine ziemlich schlechte Idee klingen. Da du ein LinearLayout benutzt hast, gib dein ListView layout_height="0dp" und layout_weight="1" .

    Es ist okay, die ListView den Rest des Bildschirms zu übernehmen. Wenn es nur eine Zeile hat, wird es eine Zeile zeigen, keine große Sache. Es sei denn, du versuchst, etwas unterhalb der Liste zu zeigen, aber was ich dir schon gesagt habe, sollte das erreichen.

    Wenn oben nicht funktioniert, kannst du einfach RelativeLayout anstelle von linear verwenden und die ListView unterhalb des EditText .

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