Android 在容器中设置自定义PagerAdapter活动以销毁ViewPagers片段
所以我有一个活动,里面有一个ViewPager。我希望它在“活动”中按按钮时销毁ViewPager的所有片段,并使用新文本/视图更新ViewPager的片段 我已经在下面的活动中编写了代码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
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类中。这是正确的吗?