ViewPager多次调用 - Android

时间:2013-10-01 06:50:02

标签: android android-viewpager

我正在使用onDraw()方法做图表。我有四个不同的片段,包含不同的图形。我使用ViewPager在滑动模型中显示图表。

当我致电viewPager.getCount()时,它会被多次呼叫。后来我发现onDraw()方法每当我触摸屏幕或刷卡时就会调用。我真的很想知道为什么在使用ViewPager时多次调用Fragment。我没有为此获得任何正确的解决方案,任何人都可以指导我如何限制多次调用getCount()或在进行滑动时调用Fragment。

1 个答案:

答案 0 :(得分:2)

试试这个,  添加mViewPager.setOnPageChangeListener(mPageLitsener);

和  定义为,

private ViewPager.OnPageChangeListener mPageLitsener = new ViewPager.OnPageChangeListener() {
    @Override
    public void onPageSelected(int position) {
        switch (position) {
            case 0:
            ((FirstFragment)mViewPagerAdapter.getItem(0)).onUpdate();
            break;

            case 1:
            ((SecondFragment)mViewPagerAdapter.getItem(1)).onUpdate();
            break;

            case 2:
            ((ThirdFragment)mViewPagerAdapter.getItem(2)).onUpdate();
            break;

            default:
            ((FirstFragment)mViewPagerAdapter.getItem(0)).onUpdate();
            break;
        }
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {}

    @Override
    public void onPageScrollStateChanged(int arg0) {}
};

然后在Fragment中调用一个公共方法(即onUpdate()),并根据需要定义它。