【问题标题】:ViewPager carousel using PageContainer not working with FragmentPagerAdapter使用 PageContainer 的 ViewPager 轮播不与 FragmentPagerAdapter 一起使用
【发布时间】:2013-04-06 13:07:22
【问题描述】:

我正在使用https://gist.github.com/8cbe094bb7a783e37ad1 来一次显示 ViewPager 的多个页面。它适用于简单的 PageAdapter,但我需要显示大量位图。所以我读了http://developer.android.com/training/displaying-bitmaps/index.html,上面写着:

您可以使用由 PagerAdapter 支持的 ViewPager 组件来实现此模式。然而,一个更合适的支持适配器是子类 FragmentStatePagerAdapter,它会在 ViewPager 中的 Fragment 消失时自动销毁并保存它们的状态,从而降低内存使用率。

我尝试创建一个新的 FragmentStatePagerAdapter 但它不起作用:

E/AndroidRuntime(25400): android.content.res.Resources$NotFoundException: 找不到资源 ID #0xffffffff

我真的不明白错误是什么,因为我没有使用除布局之外的任何特定资源。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 你应该接受一个答案。无论是你的还是 madtom 的

标签: android-fragments android-viewpager


【解决方案1】:

当我将 android:id 添加到 PageContainer 内的 ViewPager 时,我才发现它可以工作。因此,仅使用 id 似乎可以工作,但我不明白为什么。

如果有人有想法,我很乐意理解。

【讨论】:

  • 我的代码遇到了完全相同的错误 - 我正在动态创建我的 viewpager 并将其放入我已经在 xml 中拥有的容器视图中,但是通过在 xml 中创建视图并提供它错误消失了!一定是android没有正确分配id的错误......
【解决方案2】:

The documentation 明确表示:

使用 FragmentPagerAdapter 时,宿主 ViewPager 必须设置有效的 ID。

很高兴我找到了你的答案,因为这也让我头疼了很长一段时间。当我看到你的答案时,我记得我略读了一下,感觉自己像个白痴。

【讨论】:

  • 帮助很大!尤其是在以编程方式添加浏览器时,因为您往往会忘记那些小事,哈哈
猜你喜欢
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多