当前位置: 首页 > 知识库问答 >
问题:

Android Viewpager一次只加载一个页面

谢叶五
2023-03-14

ViewPager.setOffscreenPageLimit(0) 无法按预期工作

喜欢这个问题。但是我需要一个按时加载一页的自定义查看页。有没有例子?

共有2个答案

仲元凯
2023-03-14

根据您想要实现的目标(如果只是为了节省内存或减少加载时间),您还可以像往常一样加载所有页面,但仅在实际显示片段时加载片段的内容。

阴永福
2023-03-14

是的,您可以通过以下步骤完成

  • 首先在适配器类
  • 中创建一个 count变量
  • ViewPagerAdapter的第二个函数中,生成一个public函数,称为setCount()
  • 在Adapter的overridegetCount()函数中,返回变量
  • 现在,当用户翻转页面时,覆盖ViewPager的onpageScroll()函数,您可以调用setCount()来增加计数变量的count
  • 还要检查当前索引是否为最后一个,页面是否向左滚动

这应该行得通。

 类似资料:
  • 我知道我能给出的的最低数字是1。但我需要一次加载一个页面,因为内存问题。 我将不得不使用旧样式的tabhost等吗?或者有什么方法可以让我的viewPager一次加载一个页面? 我的适配器使用ViewHolder模式扩展BaseAdapter rn。

  • 即使我设置了OviewPager.SetOffScreenPageLimit(0),我的视图分页器仍然在可见页面的每一侧加载1个离屏页面。 我如何使它只在用户滑到页面时加载页面? 我的适配器(如果有帮助的话):

  • 我使用TabLayout与Viewpager和有3个标签。我正在使用FragmentPagerAdapter来设置选项卡和它的片段。 我只想加载第一个选项卡的片断时,它是默认选择,并希望加载其他选项卡的片断在一个新的活动。 我尝试在位置1和位置2的情况下从getItem方法返回null,但它给出了异常。 提前多谢。

  • 问题内容: 我想使我的网站一次只允许一个会话。例如,假设用户已经登录到我在firefox上的网站,如果该用户再次登录到另一台浏览器(例如同一台计算机或另一台计算机上的Opera),则Firefox上的会话将被破坏。但是,如果仍为一届会议,则有关Firefox的会议仍将保留。我可以知道该怎么做吗?我正在使用php和apache。谢谢。 问候。本杰明 问题答案: 我建议您做这样的事情: 假设用户“ A

  • 本文向大家介绍第一次加载页面时会触发哪几个钩子?相关面试题,主要包含被问及第一次加载页面时会触发哪几个钩子?时的应答技巧和注意事项,需要的朋友参考一下 beforeCreate, created, beforeMount, mounted

  • 我使用了和。 但它一次加载两个页面。 有什么方法可以在viewpager中只加载一个页面吗?

  • useEffect React钩子将在每次更改时运行传入函数。可以对此进行优化,使其仅在所需的属性更改时才调用。 如果我想从中调用初始化函数而不在更改时再次调用它,该怎么办?假设我想加载一个实体,但加载函数不需要组件的任何数据。我们如何使用钩子来实现这一点呢? 有了钩子,这可能是这样的:

  • 问题内容: 我正在制作一个由CSS3驱动的简单目标网页。为了使它看起来很棒,有一个隆重的表演: 为了使它更加出色,我添加了一个悬停动画: 但是问题来了!我分配了这样的动画: 一切都很好:飞溅到用户脸上,当他徘徊时有很好的振动。用户模糊后,立即填充,平滑内容突然结束并重复-animation。(这对我来说是合乎逻辑的,但我不希望这样做)没有某种JavaScript类Jiggery Pokery,有什