Android делает прокрученный два независимых списка в действии

jvb2008 спросил: 28 апреля 2018 в 09:24 в: java

Я работаю в Android Studio в новом приложении, и я хочу создать макет с двумя независимыми прокручиваемыми списками (каждая прокрутка списков в независимом режиме) в одном и том же действии. Я не могу получить цель, которую хочу. Не могли бы вы дать мне совет?


2 ответа

Amit ответил: 28 апреля 2018 в 09:29

Я уверен, что не уверен в эффективном способе, но я работал следующим образом. Во-первых, я создал два динамических ListView и включил их в одно действие.

Он рассчитает высота динамически, а не match_parent.

Вот код:

 public void setListViewDynamicHeight(ListView listView) {
        ListAdapter adapter = listView.getAdapter();
        if (adapter == null) {
            return;
        }
        int height = 0;
        int desiredWidth = View.MeasureSpec.makeMeasureSpec(listView.getWidth(), View.MeasureSpec.UNSPECIFIED);
        for (int i = 0; i < adapter.getCount(); i++) {
            View listItem = adapter.getView(i, null, listView);
            listItem.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);
            height += listItem.getMeasuredHeight();
        }
        ViewGroup.LayoutParams layoutParams = listView.getLayoutParams();
        layoutParams.height = height + (listView.getDividerHeight() * (adapter.getCount() - 1));
        listView.setLayoutParams(layoutParams);
        listView.requestLayout();
    }
Anton Prokopov ответил: 28 апреля 2018 в 09:33

Вы можете создать его в своем макете xml следующим образом:

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">        <android.support.v4.widget.NestedScrollView
            android:id="@+id/nested_scroll_view_1"
            android:layout_width="match_parent"
            android:layout_height="match_parent">            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Hallo!" />            <!--Other views inside NestedScrollView-->
        </android.support.v4.widget.NestedScrollView>        <android.support.v4.widget.NestedScrollView
            android:id="@+id/nested_scroll_view_2"
            android:layout_width="match_parent"
            android:layout_height="match_parent">            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Hallo!" />            <!--Other views inside NestedScrollView-->
        </android.support.v4.widget.NestedScrollView>    </LinearLayout>