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を使っていてもこれでいい
コメント