0

В моем recyclerview должен быть открыт первый закрытый предмет. С этой целью я написал эти строки.Recyclerview полностью прокрутите до позиции

LinearLayoutManager llm = new LinearLayoutManager(getActivity()); 
llm.scrollToPosition(1); 
paletteRecyclerView.setLayoutManager(llm); 

Я хочу проверить, можно ли полностью прокрутить до позиции 1. Если мой recyclerview мал, я должен открыть его, не закрывая первый элемент. Как я могу проверить это?

+0

проверить, если 'recyclerView.getHeight()> recyclerView.computeVerticalScrollRange' и если это так, то не прокручиваются в положение 1. –

+0

Я проверил эти два параметра возвращающимся 0. Что может быть причиной? – Butterfly

ответ

0

Я предполагаю, что вы хотите знать, если есть элементы для прокрутки в RecyclerView. Таким образом, вы можете проверить, как показано ниже, после установки адаптера в recyclerView.

recyclerView.post(new Runnable() { 
     @Override 
     public void run() { 
      int recyclerViewheight = recyclerView.getHeight(); 
      int totalChildViewsHeight = recyclerView.computeVerticalScrollRange(); 
      if (recyclerViewheight > totalChildViewsHeight) { 
       //there is no scroll (there are no more items to scroll) 
      } else { 
       //there is scroll (there are items to scroll) 
      } 
     } 
    }); 
+0

Я проверил эти два параметра, возвращающих 0. В чем причина? – Butterfly

+0

вы делаете это на 'recyclerView.post()' и после настройки адаптера? –

+0

Нет, зачем мне делать recyclerView.post()? – Butterfly

0

Try с ниже код ...

LinearLayoutManager llm = new LinearLayoutManager(getActivity()); 
recyclerView.setLayoutManager(llm); 

RecyclerView.Adapter adapter = new YourAdapter(); 
recyclerView.setAdapter(adapter); 

recyclerView.scrollToPosition(position); 

 Смежные вопросы

  • Нет связанных вопросов^_^