установить фокус на расширенную группу в ExpandableListView, особенно последний элемент - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь реализовать логику c сохранения фокуса на расширенном элементе в ExpandableListView.

Я пробовал это & это

моя логика c - это то, что мне нужно, когда пользователь нажимает на элемент Элемент в ExpandableListView, когда он прокручивается, чтобы пользователь знал, что в группе есть элементы, мне нужно, потому что последний элемент расширяется без какого-либо указания на то, что элементы для этой группы

мой XML код:

<androidx.core.widget.NestedScrollView
        android:id="@+id/myScrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">
      // some views
      <ExpandableListView
                        android:id="@+id/expListView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:divider="@null"
                        android:groupIndicator="@null" />
       // more views
</androidx.core.widget.NestedScrollView>

и мой код для расширения группы нажмите:

expListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
            int prevIndex = -1;

            @Override
            public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
                if (prevIndex != -1)
                   // this works well for upper items but lower and last item not.
                    v.getParent().requestChildFocus(v, parent.getChildAt(prevIndex));
                prevIndex = groupPosition;

//                expListView.postDelayed(() -> expListView.smoothScrollToPosition(getCount(groupPosition) - 1),100);
                return false;
            }
        });

, поэтому, пожалуйста, помогите мне, почему мой код не работает или мне чего-то не хватает?

...