hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

FragmentStatePagerAdapterの怪

読書尚友ではページの管理にFragmentStatePagerAdapterを使っているが、これが曲者で、内部にキャッシュを持っているらしく、ページを削除してもViewPagerにうまく反映されないというバグらしきものがある。
読書尚友の場合、画面を縦横回転させたときにレイアウトを計算しなおして再描画するが、このときに内部のキャッシュがクリアできず、まれに前後のページが表示されない場合があった。
結局、縦横回転時に、FragmentStatePagerAdapterのインスタンスを再作成して、ViewPagerにsetAdapterで設定し直すことで修正できた。

参考になったのはこちら:
ViewPagerでのページの削除

読書尚友はかなり安定してきており、Android用の青空文庫ビューアとしては最良のものの一つだと思うが、いかんせん後発のために、Google playの順位にはなかなか反映しない。

あと、個人的に気になるのは、ルビの表示の最適化と、ローカルファイルのファイラー機能の充実ぐらい。焦らず、ぼちぼち改良していきたい。