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