Что делать с ExpandableListViews?

Итак, я хочу создать расширяемое представление списка, и везде, куда я смотрю, кажется, что они сами программируют свои собственные функции для расширяемого представления списка.

Вам действительно нужно это делать или есть базовая функциональность, которая не требует программирования?


person BlueLite    schedule 25.04.2019    source источник
comment
см. эту ссылку, androidhive.info/2013/07/android -expandable-list-view-tutorial   -  person Sajith    schedule 25.04.2019
comment
см. этот адаптер github.com/Android-Tutorials-Hub/expandable-list-view-tutorial/ , ничего не нужно делать, просто вставьте этот адаптер и измените свой список и макеты.   -  person Priyanka    schedule 25.04.2019


Ответы (1)


Поэтому я использовал эту библиотеку для достижения поведения расширения и свертывания, и она работает как шарм.

<com.github.florent37.expansionpanel.ExpansionHeader
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    app:expansion_headerIndicator="@id/headerIndicator"
    app:expansion_layout="@id/expansionLayout"
    app:expansion_toggleOnClick="true">

    <!-- HEADER -->

    ...
    <!-- HEADER INDICATOR -->
    <ImageView
           android:adjustViewBounds="true"
           android:id="@+id/headerIndicator"
           android:layout_gravity="center_vertical|right"
           android:layout_height="wrap_content"
           android:layout_marginLeft="16dp"
           android:layout_width="wrap_content"
           app:srcCompat="@drawable/ic_expansion_header_indicator_grey_24dp" />


</com.github.florent37.expansionpanel.ExpansionHeader>

<com.github.florent37.expansionpanel.ExpansionLayout
    android:id="@+id/expansionLayout"
    android:layout_height="wrap_content"
    android:layout_width="match_parent">

    <!-- CONTENT -->

</com.github.florent37.expansionpanel.ExpansionLayout>

Прикрепите прослушиватель в Activity вот так

ExpansionLayout expansionLayout = findViewById(...);
expansionLayout.addListener(new ExpansionLayout.Listener() {
    @Override
    public void onExpansionChanged(ExpansionLayout expansionLayout, boolean expanded) {

    }
});

person Akshay Katariya    schedule 25.04.2019
comment
ответы только для ссылок не могут быть хорошими ответами. Это должен быть комментарий максимум - person Vladyslav Matviienko; 25.04.2019