Recyclerview scrollToPosition не работает с NestedScrollView? Там в любом случае?

Итак, у меня есть Recyclerview внутри NestedScrollView. Когда я говорю recycleview.scrollToPosition(X) или recycleview.getLayoutManager().scrollToPosition(X), это вообще не работает.

Если я перемещаю recycleview из nestedScrollView, он работает нормально, но я не могу этого сделать из-за структуры макета! Есть идеи?

scrollingView.requestChildFocus(recyclerView,recyclerView);

попробовал это, но не ориентируясь на определенную позицию


comment
Вы пробовали recyclerView.smoothScrollToPosition(position)?   -  person jlively    schedule 19.07.2017
comment
она не будет работать. мой recyclerview находится внутри вложенного прокрутки.   -  person Bincy Baby    schedule 19.07.2017
comment
вы нашли какой-нибудь ответ?   -  person praj    schedule 13.08.2017
comment
stackoverflow.com/a/50604638/6798 Посмотрите на это решение.   -  person Dino Sunny    schedule 30.05.2018


Ответы (1)


сделайте свой recyclerview таким

<LinearLayout
      android:id="@+id/ll2"
      android:focusableInTouchMode="true"
      android:layout_width="match_parent"
      android:layout_height="wrap_content">

          <android.support.v7.widget.RecyclerView
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_margin="5dp"
              android:clipToPadding="false"
              android:visibility="visible"/>

</LinearLayout>

и код Java

ItemsArrayList.add(0, items5);
adapter.notifyDataSetChanged();
ViewCompat.setNestedScrollingEnabled(recyclerView,false);
NestedScrollView nestedScrollingView = (NestedScrollView) findViewById(R.id.nestedScrollingView);
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.ll2);
float y = fcRecyclerView.getChildAt(0).getY();
float z =linearLayout.getY();
nestedScrollingView.smoothScrollTo(0, (int) z);
person AskNilesh    schedule 19.07.2017
comment
она не будет работать. мой recyclerview находится внутри вложенного прокрутки. - person Bincy Baby; 19.07.2017
comment
Вы установили setNestedScrollingEnabled (false) в свой recyclerview - person AskNilesh; 19.07.2017
comment
@BincyBaby попробуйте последний вариант - person AskNilesh; 19.07.2017
comment
можно ли зайти на gmail? - person Bincy Baby; 19.07.2017
comment
[email protected] - person Bincy Baby; 19.07.2017
comment
[email protected] - person AskNilesh; 19.07.2017
comment
Давайте продолжим это обсуждение в чате. - person AskNilesh; 20.07.2017
comment
В моем случае это не работает. Я получаю значение z как 0 каждый раз. - person Kuls; 25.05.2018
comment
@Kuls может поделиться дополнительной информацией об этом, чтобы я мог попытаться вам помочь - person AskNilesh; 25.05.2018
comment
Я использовал вложенныйScrollView › LinearLayout › RecycleView в моем XML. Я попробовал ваш фрагмент, я получаю правильное положение Y и получаю 0 значение для Z - person Kuls; 25.05.2018
comment
это полностью помогает мне. - person Sup.Ia; 02.05.2019