我正在使用带有自定义 PagerFragmentAdapter
的 ViewPager
,它使用内部列表来提供 fragment 。我想在设置更改时动态添加和删除 fragment 。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_pager);
mAdapter = new ServicePagerAdapter(getSupportFragmentManager());
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
}
我试图再次调用 setAdapter
,但我得到了一个 IllegalStateException(在 onSaveInstanceState 之后无法执行此操作)
。
怎样才能达到我的目的?
最佳答案
您不需要每次都重置您的ServicePagerAdapter
。在 Activity
的 onCreate()
方法中(或在 Fragment 的
) 然后你可以简单地调用适配器的 onActivityCreated()
方法中)创建和设置一次就足够了add()
方法来向它添加新元素。但不要忘记在每次添加到适配器后调用 notifyDataSetChanged()
。
关于android - 在 ViewPager 中动态添加和删除 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907532/