onScrollChanged()はいつ呼ぶの?

今回、一番ハマってたのはこれ。


最初、MainActivity.java の FragmentActivity の onTabSelected() で、選択されたのが WebView の Fragment だった時に呼んでいた。
でも、これだと画面をスワイプして移動した時にはちゃんと機能するのだけど、タブを選択して画面が変わった場合には機能しない。
(たぶん)タイミングが早いのだと思って、Fragment から WebView の applyAfterMoveFix() を呼ぶのを 100msec 遅らせたらちゃんと機能するようになった。


けど、それじゃ気持ちが悪いコードになってしまうので、タブの切り替わったタイミングを取れる他の方法を探していたら見つかった。
FragmentPagerAdapter の setPrimaryItem()。
ここで position が WebView のタブの場合に ApplyAfterMoveFix() を呼ぶようにしたら、スワイプでもタブを選択でもちゃんと機能するようになった。


めでたし、めでたし。