Я пытаюсь реализовать логику 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;
}
});
, поэтому, пожалуйста, помогите мне, почему мой код не работает или мне чего-то не хватает?