setlistener与addlistener的区别

setlistener只能设置一个监听,之后调用一个方法将会把之前的设置的监听覆盖,addlistener可设置多个监听,不会被覆盖

ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        Log.i(TAG, "onPageScrolled: 1111111111111111111");
    }

    @Override
    public void onPageSelected(int position) {
        Log.i(TAG, "onPageSelected: 11111111111111111111");
    }

    @Override
    public void onPageScrollStateChanged(int state) {
        Log.i(TAG, "onPageScrollStateChanged: 11111111111111111111");
    }
});
ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        Log.i(TAG, "onPageScrolled: 2222222222222");
    }

    @Override
    public void onPageSelected(int position) {
        Log.i(TAG, "onPageSelected: 222222222222");
    }

    @Override
    public void onPageScrollStateChanged(int state) {
        Log.i(TAG, "onPageScrollStateChanged: 222222222222");
    }
});
ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        Log.i(TAG, "onPageScrolled: 33333333333333");
    }

    @Override
    public void onPageSelected(int position) {
        Log.i(TAG, "onPageSelected: 33333333333333333");
    }

    @Override
    public void onPageScrollStateChanged(int state) {
        Log.i(TAG, "onPageScrollStateChanged: 33333333333333333333");
    }
});

日志输出:

I/MainActivity: onPageScrollStateChanged: 11111111111111111111
                onPageScrollStateChanged: 222222222222
                onPageScrollStateChanged: 33333333333333333333
                onPageScrolled: 1111111111111111111
                onPageScrolled: 2222222222222
                onPageScrolled: 33333333333333
I/MainActivity: onPageScrolled: 1111111111111111111
                onPageScrolled: 2222222222222
                onPageScrolled: 33333333333333
I/MainActivity: onPageScrolled: 1111111111111111111
                onPageScrolled: 2222222222222
                onPageScrolled: 33333333333333
I/MainActivity: onPageScrolled: 1111111111111111111
                onPageScrolled: 2222222222222
                onPageScrolled: 33333333333333
I/MainActivity: onPageScrolled: 1111111111111111111
                onPageScrolled: 2222222222222
                onPageScrolled: 33333333333333
I/MainActivity: onPageScrolled: 1111111111111111111
                onPageScrolled: 2222222222222
                onPageScrolled: 33333333333333
I/MainActivity: onPageScrolled: 1111111111111111111
                onPageScrolled: 2222222222222
                onPageScrolled: 33333333333333

你可能感兴趣的:(setlistener与addlistener的区别)