[android] ViewPagerがいつページを変更するかを決定する


Answers

ViewPager.setOnPageChangeListenerは現在推奨されていません。 代わりにViewPager.addOnPageChangeListener代わりに使用する必要があります。

例えば、

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
Question

私はViewPagerの中に3つのページ(断片)を持っていますが、私は2つのページのメニュー項目を表示したいだけです。

以前のSOの答えで与えられたコードはうまくいかないようです:

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

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

}

Eclipseでは@Overrideは必要なく、スーパーは設定できないという。 システムによって呼び出されることは決してありませんし、現時点でどのページが表示されていたのかを判断する方法はありますか? ここに助けてもらえますか?




Kotlinの場合、

view_pager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {

            override fun onPageScrollStateChanged(state: Int) {
            }

            override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {

            }

            override fun onPageSelected(position: Int) {
            }
        })





Links