web-dev-qa-db-ja.com

viewpager setonpagechangelistenerは廃止予定

今日、私はViewPager.setOnPageChangeListenerを設定しようとしています、そしてそれが廃止予定であることを知りました。

250
Jaydipsinh Zala

自分で答えを見つけただけでそれを共有したいと思いました。

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) {

        }
    });

これは Googleデベロッパーサイトで見つけることができます。

554
Jaydipsinh Zala

これは私のために働いた:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){

    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {       
        conterchange.setText(""+(1+position));
    }

    @Override
    public void onPageSelected(int position) {
    }

    @Override
    public void onPageScrollStateChanged(int state) {
    }
});
40
kinsley kajiva

ViewPager.setOnPageChangeListenerの代わりにViewPager.addOnPageChangeListenerを使用します。

39
AeH

万が一誰かがkotlinの解決策を必要としている場合:

viewPager.addOnPageChangeListener (object: ViewPager.OnPageChangeListener {
        override fun onPageScrollStateChanged(state: Int) {
            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
        }

        override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
        }

        override fun onPageSelected(position: Int) {
            TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
        }

    })
7
Noelia

SimpleOnPageChangeListenerを介して達成することができます以下はコードです:

private Fragment page = null;
/** Defining a listener for pageChange */
        ViewPager.SimpleOnPageChangeListener pageChangeListener = new ViewPager.SimpleOnPageChangeListener(){
            @Override
            public void onPageSelected(int position) {
                super.onPageSelected(position);

                page = getSupportFragmentManager().findFragmentByTag("Android:switcher:" + R.id.pager_selectPhotos + ":" + position);

                System.out.println(page);
                switch (position) {
                case 0:

                    break;
                case 1:

                    break;

                default:
                    break;
                }
            }
        };
        /** Setting the pageChange listener to the viewPager */
        _pager.setOnPageChangeListener(pageChangeListener);
7
Shoeb Siddique