ViewPager でフラグメントがいつ表示されるかを判断する方法 質問する

ViewPager でフラグメントがいつ表示されるかを判断する方法 質問する

問題:フラグメントが実際に表示される前に、フラグメントonResume()インが実行されます。ViewPager

たとえば、ViewPagerとの 2 つのフラグメントがありますFragmentPagerAdapter。2 番目のフラグメントは承認されたユーザーのみが使用できるため、フラグメントが表示されるときにユーザーにログインを求める必要があります (アラート ダイアログを使用)。

ただし、ViewPager最初のフラグメントが表示されているときに 2 番目のフラグメントを作成してキャッシュし、ユーザーがスワイプを開始したときに表示できるようにします。

したがって、onResume()イベントは 2 番目のフラグメントで、表示されるずっと前に発生します。そのため、適切なタイミングでダイアログを表示するために、2 番目のフラグメントが表示された時点で発生するイベントを見つけようとしています。

これはどうすればできるのでしょうか?

ベストアンサー1

ViewPager でフラグメントがいつ表示されるかを判断する方法

setUserVisibleHintをオーバーライドすることで、次の操作を実行できますFragment

public class MyFragment extends Fragment {
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
        }
        else {
        }
    }
}

おすすめ記事