LoginSignup
1
1

More than 5 years have passed since last update.

ActivityやFragmentを使わずに、直接カスタムViewとCursorLoaderを組み合わせるサンプル

Posted at

Activity/FragmentでCursorLoaderを使う場合の問題点

Androidの公式サンプルでは、CursorLoaderを使う例として、ActivityやFragmentのLoaderManagerと組み合わせる方法しか書かれていない。

確かにLoaderManagerを使うとActivityやFragmentのライフサイクルを考慮してcallbackを呼んでくれるので便利なのだが、以下の問題点がある。

  • 様々なViewで違うCursorLoaderを使っている場合、それらのCursorLoaderの処理をすべてActivity/Fragmentに集めて書かなくてはならない。
  • そもそもFragmentは使いにくい

カスタムViewとCursorLoaderを直接組み合わせる方法

ViewがCursorLoaderを持っていて、勝手にデータを取ってきて表示してくれれば非常に便利なのだが、公式ドキュメントにはそのサンプルは無い。

ViewにはonWindowVisibilityChanged()というcallbackがあり、これを使えばCursorLoaderとカスタムViewを組み合わせるのは割と簡単にできる。

コードはこちら。
https://gist.github.com/anolivetree/23fdb807246a8269b5af

1
1
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
1