0

私のrecyclerviewは最初のアイテムを閉じて開きます。この目的のために、私はこれらの行を書きました。Recyclerviewを完全にスクロールして位置

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

位置1まで完全にスクロールできるかどうかを確認したいと思います。私のrecyclerlerviewが小さい場合、最初のアイテムを閉じることなく開く必要があります。どうすれば確認できますか?

+0

チェック 'recyclerView.getHeight()> recyclerView.computeVerticalScrollRange'もし、これが本当であるならば、私は理由ができますどのような0を返すこれら2つのパラメータをチェックした1 –

+0

を配置するためにスクロールしませんか? – Butterfly

答えて

0

を試してみてください。アダプターを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

私はこれらの2つのパラメータをチェックして0を返しました。理由は何でしょうか? – Butterfly

+0

'recyclerView.post()'とアダプタ設定後にこれをやっていますか? –

+0

いいえ、なぜ私はrecyclerView.post()を行う必要がありますか? – Butterfly

0

私はあなたがRecyclerViewにスクロールする項目があるかどうかを知りたいと仮定し...以下のコードで

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

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

recyclerView.scrollToPosition(position); 
関連する問題