ListView не может автоматически расти в Android - PullRequest
0 голосов
/ 25 октября 2019

При заполнении списка ListView у меня возникают две проблемы. 1. Я не вижу первый элемент. 2. Я вижу свой список, только если жестко задал высоту. Как мне избежать этого?

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView 
xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="?attr/layout_background_color">

    <LinearLayout
        android:id="@+id/colors_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:visibility="visible">

        <ListView
            android:id="@+id/colors_list"
            android:layout_width="match_parent"
            android:layout_height="3500dp" />

    </LinearLayout>

</android.support.v4.widget.NestedScrollView>

Ценю любую помощь, которую я могу получить. Спасибо!

1 Ответ

1 голос
/ 25 октября 2019

Это происходит потому, что вы помещаете ваш ListView в NestedScrollView.

. ListView может быть в любом Layout, но если вы хотите поместить его в NestedScrollViewтебе придется что-то делать. Ничто в жизни не является бесплатным.

Решение:

Рассчитайте высоту программно.

Здесь - это ссылка для решения вашей проблемы.

ИЛИ

Используйте RecyclerView вместо ListView, и вам не нужно делать это hack выше.

...