android - 在 ViewPager 中动态添加和删除 fragment

标签 android adapter android-fragments android-viewpager

我正在使用带有自定义 PagerFragmentAdapterViewPager,它使用内部列表来提供 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。在 ActivityonCreate() 方法中(或在 Fragment 的 onActivityCreated() 方法中)创建和设置一次就足够了) 然后你可以简单地调用适配器的 add() 方法来向它添加新元素。但不要忘记在每次添加到适配器后调用 notifyDataSetChanged()

关于android - 在 ViewPager 中动态添加和删除 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907532/

相关文章:

android - 数组适配器在后台异常中修改

android - 一个 ListView 中的两个适配器

android - Fragment BackStack 在使用 Glide Image Library 加载图像后清除

没有刷新startactivity的Android ListView 更新

android - 如何打开具有特定设置的 URL?

android - 如何在 XML 中填充 gridview

android - 从 fragment 到 Activity 问题的接口(interface)通信

android - 无法解析方法 getActivity()

android - 如何使用带有上下文操作栏的可选列表?

android - Cookies & Webview - Android 中的 CookieSyncManager!