Intereting Posts
Android WiFi соединение программно QPython или Kivy для программирования на Android с Python – создание устанавливаемого apk Проблема, разрешающая зависимость градиента в студии android? Позволяют пользователям создавать формы в андроидном обследовании / сборе данных Service.onDestroy () вызывается сразу после создания, в любом случае Служба выполняет свою работу Проверка электронной почты и номера телефона в android Используйте смартфонную камеру из веб-приложения для сканирования QR-кода Android: файл adb pull на рабочем столе Ограничить доступ к поставщику контента Android – API фрагментов для уровня API <11 Android Bluetooth API подключается к нескольким устройствам Android Volley двойной пост, когда медленный запрос Как получить свой контекст в своем плагине для телефонных разговоров Получить значок из другого приложения для Android BasicNetwork.performRequest: неожиданный код ответа 403 для http: //localhost/database/login.php

Высота ListView заполняет весь экран, хотя устанавливается как wrap_content

У меня этот ListView внутри 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> 

Список заполняется программным путем с помощью SimpleCursorAdapter:

 adapter = new SimpleCursorAdapter(this, R.layout.list_row_search, mCursor, from, to); 

List_row_search имеет TableLayout с двумя 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> 

Теперь, когда список заполняется, ListView занимает экран отверстия, даже если в базе данных был найден только один элемент. HierarchyView в eclipse показывает довольно ясно, что ListView – это тот, который заполняет экран.

Можете ли вы сказать, где проблема? Спасибо за ваше время!

Solutions Collecting From Web of "Высота ListView заполняет весь экран, хотя устанавливается как wrap_content"

Вы не должны использовать wrap_content для высоты ListView . wrap_content означает «сделайте меня настолько большим, насколько это необходимо, чтобы держать всех моих детей». Когда вы считаете, что ваш набор данных может быть потенциально очень большим, это должно звучать как довольно плохая идея. Поскольку вы используете LinearLayout, дайте ListView layout_height="0dp" и layout_weight="1" .

Все в порядке, чтобы ListView оставил оставшуюся часть экрана. Если он имеет только одну строку, он покажет одну строку, не имеет большого значения. Если вы не пытаетесь показать что-то ниже списка, но то, что я вам сказал выше, должно это сделать.

Если выше не работает, вы можете просто использовать RelativeLayout вместо линейного и поместить ListView под EditText .