Android 在容器中设置自定义PagerAdapter活动以销毁ViewPagers片段

Android 在容器中设置自定义PagerAdapter活动以销毁ViewPagers片段,android,android-fragments,arraylist,android-viewpager,fragmentpageradapter,Android,Android Fragments,Arraylist,Android Viewpager,Fragmentpageradapter,所以我有一个活动,里面有一个ViewPager。我希望它在“活动”中按按钮时销毁ViewPager的所有片段,并使用新文本/视图更新ViewPager的片段 我已经在下面的活动中编写了代码 SectionsPagerAdapter mSectionsPagerAdapter; mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager(), null); ViewPager mView

所以我有一个活动,里面有一个ViewPager。我希望它在“活动”中按按钮时销毁ViewPager的所有片段,并使用新文本/视图更新ViewPager的片段

我已经在下面的活动中编写了代码

 SectionsPagerAdapter mSectionsPagerAdapter;

    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager(), null);

    ViewPager mViewPager = (ViewPager)findViewById(R.id.vp_main);
      final PagerTabStrip strip = (PagerTabStrip)findViewById(R.id.pts_main);         
        mViewPager.setAdapter(mSectionsPagerAdapter);

        ArrayList<PagerItem> pagerItems = new ArrayList<PagerItem>();
        pagerItems.add(new PagerItem("Fragment1", new Fragment1())); //Error here when...
        pagerItems.add(new PagerItem("Fragment2", new Fragment2()));
        pagerItems.add(new PagerItem("Fragment1", new Fragment3()));
        pagerItems.add(new PagerItem("Fragment2", new Fragment4()));
        pagerItems.add(new PagerItem("Fragment1", new Fragment5()));
        pagerItems.add(new PagerItem("Fragment2", new Fragment6()));


      mSectionsPagerAdapter.setPagerItems(pagerItems); // I changed to my custom adapter here
      mSectionsPagerAdapter.notifyDataSetChanged();
错误消息是。。。 无法访问SectionsPagerAdapter类型的封闭实例。必须使用SectionsPagerAdapter类型的封闭实例限定分配,例如x.new A,其中x是SectionsPagerAdapter的实例


有人能解释这个问题吗??非常感谢

确保类SectionsPagerAdapter存在,并且它的PUBLIC及其构造函数是PUBLIC的

像这样

public class SectionsPagerAdapter {
      public SectionsPagerAdapter() {
      }
}
并替换这个

new SectionsPagerAdapter(getSupportFragmentManager(), null);
用这个

this.new SectionsPagerAdapter(getSupportFragmentManager(), null);
或者可以将SectionsPagerAdapter设置为静态。e、 g

public static class SectionsPagerAdapter {
      public SectionsPagerAdapter() {
      }
}

祝你好运

是的,正如您所示,SectionsPagerAdapter类确实存在,并且设置为PUBLIC,只是它在我的SectionPagerAdapter.java类中。这是正确的吗?