1. ホーム
  2. android

[解決済み] ViewPagerがページを変更するタイミングを決定する

2022-04-25 10:16:47

質問

ViewPagerの中に3つのページ(Fragment)がありますが、そのうち2つのページに対してのみメニューを表示させたいと思っています。

で指定されたコードは 前回のSO回答 は動作しないようです。

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);

    if (isVisibleToUser == true) { }
    else if (isVisibleToUser == false) {  }

}

Eclipseでは、@Overrideは不要であり、superは設定できないと言われています。システムから呼び出されることはありませんし、仮に呼び出されたとしても、今どのページが表示されているのかをどうやって判断すればいいのでしょうか?何かいい方法はないでしょうか?

解決方法は?

を使用します。 ViewPager.onPageChangeListener :

viewPager.addOnPageChangeListener(new OnPageChangeListener() {
    public void onPageScrollStateChanged(int state) {}
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}

    public void onPageSelected(int position) {
        // Check if this is the page you want.
    }
});