RecyclerViewでは
LayoutManagerから
getFirstVisiblePosition()のようなことができる
しかし、
LinearLayoutManagerなどにキャストするか、自分で実装とかしないと、無理。
なので、こうする
int position;
RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
if (manager instanceof LinearLayoutManager) {
    position = ((LinearLayoutManager)manager).findFirstVisibleItemPosition();
}else {
    position = 0;
}
java.lang.Object
↳android.support.v7.widget.RecyclerView.LayoutManager
 ↳android.support.v7.widget.LinearLayoutManager
  ↳android.support.v7.widget.GridLayoutManager
という継承関係なので
GridLayoutManagerを使っていてもこれでいい
      
 
      
      
      
コメント