FragmentStatePagerAdapter没有调用getItem

时间:2014-07-25 14:41:57

标签: android android-viewpager fragmentstatepageradapter

问题:我有一个带有FragmentStatePagerAdapter的ViewPager设置,它使用全局arraylist来获取其片段的内容。当我想更新这个全局数组时,我只需调用arraylist.add()方法,实例化一个新的FragmentStatePagerAdapter和一个新的ViewPager。但是,由于某种原因,适配器根本不调用getItem。并不是说它的数据集是空的(它不是)或任何东西......它根本就没有被调用。我甚至设置了一个日志来测试它。这是我的代码:

// Create the adapter that will return a fragment for event
SectionsPagerAdapter adapter = new SectionsPagerAdapter(getFragmentManager());

// Set up the ViewPager with the sections adapter.
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(adapter);

/**
 * A FragmentStatePagerAdapter that returns a fragment corresponding to
 * an index of the global events array
 */
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {

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

    /**
     * Called to instantiate the fragment for the given page
     */
    @Override
    public Fragment getItem(int position) {
        Log.v("Miles", "getItem called");
        // getItem is called to instantiate the fragment for the given page.
        return EventFragment.newInstance(events.get(position));
    }

    /**
     * Total number of pages (fragments) there are
     * Given by size of the global events array minus 1
     */
    @Override
    public int getCount() {
        return events.size() - 1;
    }
}

这个设置有什么问题吗?我可以验证全局arraylist中是否有数据,但是没有实例化片段来反映它。

0 个答案:

没有答案