У меня есть фрагмент, который заполняет экран RecyclerView
(android:support:v7.widget.RecyclerView
) и GridLayoutManager
. Версия поддерживающей библиотеки: 23.0.0.RecyclerView GridLayoutManager прокручивается при вставке наверх
Предположим, у меня есть три элементов в строке. Когда я вставляю три новых элемента вверху, я ожидаю, что все опустится на одну строку. Если бы я был на самом верху, я бы ожидал, что все спустится на один ряд и увидит мои три новых предмета в первой строке. Вместо этого View остается на элементе. Новые элементы вставлены, но я должен прокрутить вверх, чтобы увидеть их. Я даже не узнал бы, что что-то изменилось, пока я не прокрутил.
Как я могу достичь того, что все движется вниз (то есть оно прокручивается или остается на одном и том же индексе (сдвигает)) на количество вставленных элементов?
Вот как вставить новые элементы:
myImageAdapter.notifyItemRangeInserted(0, batch.size());
Initialization:
final RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getActivity(), 1);
grid = (RecyclerView) rootView.findViewById(R.id.grid);
grid.setHasFixedSize(true)
grid.setLayoutManager(layoutManager);
grid.setAdapter(myImageAdapter);
Мои myImageAdapter
является дериват RecyclerView.Adapter<?>
, но ничего особенного.
Надеюсь, это ясно, чего я пытаюсь достичь. Скажите, пожалуйста, если нет, и я создам графику для иллюстрации.
// дополнение от GridLayoutManager
docs: «stackFromEnd не поддерживается GridLayoutManager». Похоже, я не могу это использовать.
Вы думаете, я должен посчитать количество пунктов, которые я вставленные, следить за мою текущую позицию, а затем, после вставки, прокручивать вверх? Можете ли вы представить полный пример? – m02ph3u5