#android #android-recyclerview
#Android #android-recyclerview
Вопрос:
У меня есть представление recycler с менеджером горизонтальной линейной компоновки, у него странное поведение автоматической прокрутки до первого элемента, когда я прокручиваю его в первый раз. У вас есть какие-либо идеи о том, как это исправить?
Я уже пытался использовать StaggeredLinearLayout, также пытался использовать фиксированные значения для ширины и высоты, я пытался использовать android: descendantFocusability=»blocksDescendants» также безуспешно. Итак, у меня закончились идеи о том, как это исправить.
<android.support.v7.widget.RecyclerView
android:id="@ id/bigItemsRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/margin_small"
android:layout_marginBottom="@dimen/margin_normal"
android:clipToPadding="false"
android:nestedScrollingEnabled="false"
app:paddingInner="@dimen/margin_normal" />
Я бы хотел, чтобы это была не автоматическая прокрутка, она использует адаптер с фиксированными элементами, поэтому мне не нужно вызывать уведомление об изменении данных, это происходит только один раз, когда я перехожу к следующему элементу. После этой автоматической прокрутки это перестает происходить.
Ответ №1:
Из приведенной выше информации трудно сказать, в чем проблема, но вызов notifyDataSetChanged() при прокрутке (если я вас правильно понял) звучит как то, чего вы не хотите делать.
Например, если вы прокрутите до пункта 1 и вызовете notifyDataSetChanged . Это вызовет обновление, и ваш RecyclerView вернется к первому элементу.
Комментарии:
1. Привет, спасибо за ответ, вот в чем дело, я не вызываю notifyDataSetChanged(), мне это не нужно, потому что элементы на адаптере не меняются