0

我在我的应用程序中使用 FragmentStatePagerAdapter。我的问题是,当我执行 notifyDataSetChanged() 时,它只调用 getCount() 而不是 getItem()。getCount 不返回 0。这是我的 FragmentStatePagerAdapter:

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {

    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return titles.get(position);
    }

    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }

    @Override
    public int getCount() {
        return fragmentList.size();
    }
}

怎么可能pagerAdapter.notifyDataSetChanged();只调用了 getCount() 而getItem(int position)没有调用它?谢谢!

4

1 回答 1

0

Issue 19001开始,我发现int getItemPosition(Object object)需要在FragmentStatePageAdapter子类中实现。默认情况下,假定此方法返回POSITION_UNCHANGED不会触发 getItem 被调用。但是,当我实现return POSITION_NONE.

我的适配器的片段:

@Override
public Fragment getItem(int position) {
    return DiceRollerFragment.instantiate(position);
}
于 2014-04-29T06:37:53.473 回答