IllegalStateException: is not currently in the FragmentManager

后端 未结 12 2308
予麋鹿
予麋鹿 2021-01-31 08:40

I know it sounds like a duplicate of FragmentStatePagerAdapter IllegalStateException: is not currently in the FragmentManager but his solution isn\'t relevan

12条回答
  •  耶瑟儿~
    2021-01-31 09:07

    Write in Activity onCreate() method :

    pager = (ViewPager) findViewById(R.id.pager);
        adapter = new SwipePagerAdapter(getSupportFragmentManager());
        pageOneFragment = new PageOneFragment();
        adapter.addFragment(pageOneFragment);
    

    Adapter code:

    public class SwipePagerAdapter extends FragmentStatePagerAdapter
    {
    private final ArrayList mFragments = new ArrayList();
    
    public SwipePagerAdapter(FragmentManager fm)
    {
        super(fm);
    }
    
    @Override
    public Fragment getItem(int position)
    {
        return mFragments.get(position);
    }
    
    @Override
    public int getCount()
    {
        return mFragments.size();
    }
    
    public void addFragment(Fragment fragment)
    {
        mFragments.add(fragment);
        notifyDataSetChanged();
    }
    
    @Override
    public void destroyItem(ViewGroup container, int position, Object object)
    {
        super.destroyItem(container, position, object);
    }
    
    @Override
    public CharSequence getPageTitle(int position)
    {
        return super.getPageTitle(position);
    }}
    

提交回复
热议问题