1
0

More than 1 year has passed since last update.

リストの先頭or末尾を調べる方法

Posted at

いつも調べて思い出すことが多いので、メモとして残しておこうと思います。

・リストの先頭かどうか

上記は以下で判断が可能です。

recyclerView.canScrollVertically(-1).not()

・リストの末尾かどうか

上記はcanScrollVerticallyの引数を反転させれば判断が可能です。

recyclerView.canScrollVertically(1).not()

・onScrolledでの実装

onScrolledで見たいケースが殆どだと思いますが、大体以下のような実装になるかと思います。

binding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
                if (recyclerView.canScrollVertically(-1).not()) {
                    // リストの先頭に来た時の処理
                }
                if (recyclerView.canScrollVertically(1).not()) {
                    // リストの末尾に来た時の処理
                }
            }
        })

さいごに

こういう細かい実装って忘れがちですよね。
細かい実装の検索コストでも数を重ねると馬鹿にできないので、なるべく残していこうと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0