Для отображения двух listView на одной странице Android Studio

на самом деле у меня следующая проблема: У меня два ListView загружаются автоматически с двумя адаптерами, проблема в XML, в обоих списках отображается только первый элемент. вот мой xml-код:

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout 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"
    tools:context = "com.example.hrizi.onescore.home_links.searshscore">

    <include
        android:id = "@+id/toolbar"
        layout = "@layout/apptoolbar"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_centerHorizontal = "true"
        android:scaleType = "fitCenter" />

    <ScrollView
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_marginTop = "66dp"
        android:fillViewport = "true">

        <LinearLayout
            android:id = "@+id/ll1"
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:orientation = "vertical">

            <LinearLayout
                android:id = "@+id/ll"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:orientation = "vertical">

                <EditText
                    android:id = "@+id/sv_search"
                    android:layout_width = "match_parent"
                    android:layout_height = "50dp"
                    android:layout_marginLeft = "20dp"
                    android:layout_marginRight = "20dp"
                    android:background = "@drawable/edittextbackground"
                    android:hint = "Search ..."
                    android:inputType = "text"
                    android:textAlignment = "center"></EditText>

                <Button
                    android:id = "@+id/btn_search"
                    android:layout_width = "match_parent"
                    android:layout_height = "wrap_content"
                    android:layout_marginLeft = "20dp"
                    android:layout_marginTop = "10dp"
                    android:layout_marginRight = "20dp"
                    android:layout_weight = "1"
                    android:background = "@color/coloronscore"
                    android:onClick = "btnsearchOnClick"
                    android:text = "Search"
                    android:textAllCaps = "false"
                    android:textColor = "@color/colorwhite" />
            </LinearLayout>
            <!--Result of research-->
            <ListView
                android:id = "@+id/listView1"
                android:layout_width = "match_parent"
                android:layout_height = "248dp"
                android:layout_marginTop = "10dp"
                android:layout_weight = "1"
                android:paddingBottom = "5dp" />

            <ListView
                android:id = "@+id/listView"
                android:layout_width = "match_parent"
                android:layout_height = "248dp"
                android:layout_marginTop = "10dp"
                android:layout_weight = "1"
                android:paddingBottom = "5dp" />
        </LinearLayout>
    </ScrollView>
</RelativeLayout>

проблема я думаю в ScrollView или еще что смывает к тому.

заранее спасибо .

Потому что вы используете ListView внутри ScrollView

Yupi 03.10.2018 21:57

Итак, какое решение, пожалуйста, @Yupi

hatem dagbouj 03.10.2018 22:19
stackoverflow.com/questions/6210895/… - может это поможет
Yupi 03.10.2018 23:08

@hatemdagbouj зачем вы используете два ListView? Почему бы не использовать только 1 ListView?

serg3z 04.10.2018 23:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
58
1

Ответы 1

Вы можете использовать эту функцию для отображения всех элементов в списке.

public static void setListViewHeightBasedOnChildren(ListView listView) {
            ListAdapter listAdapter = listView.getAdapter();
            if (listAdapter == null) {
                // pre-condition
                return;
            }

            int totalHeight = 0;
            int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
            for (int i = 0; i < listAdapter.getCount(); i++) {
                View listItem = listAdapter.getView(i, null, listView);
                listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
                totalHeight += listItem.getMeasuredHeight();
            }

            ViewGroup.LayoutParams params = listView.getLayoutParams();
            params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
            listView.setLayoutParams(params);
            listView.requestLayout();
        }

Пример:

setListViewHeightBasedOnChildren(yourlistview);

Другие вопросы по теме