gpt4 book ai didi

android - 应该在哪里使用PageViewer?

转载 作者:搜寻专家 更新时间:2023-11-01 07:57:56 24 4
gpt4 key购买 nike

我已经实现了 ViewPagerFragment 的数量作为 child ,这里每个 child 都会覆盖自己的 onAttach, onCreateView, onViewCreated and setUserVisibleHint .

在我的应用程序中,导航行为是随机的,并不是每次都按顺序进行。由于页面查看器执行缓存 以加载额外的子项,这就是我的问题所在。我不确定何时应该初始化/释放子类的成员。

需要你们的建议,在这种情况下使用 PageViwer 更好还是我应该为每个组件使用传统的 Activity 流程。

最佳答案

ViewPager 通常用于将高效的水平项目移动到项目导航。典型的用例是

  • 滑动浏览相关项目(例如电子邮件、图片、专辑歌曲等)
  • 在选项卡之间滑动
  • 像向导一样来回滑动

有关更多详细信息,您可以阅读有关 Swipe Views Android Design pattern 的部分.

关于生命周期,它基本上使用与任何其他 Fragment 相同的生命周期。唯一的区别是,由于 fragment 的缓存 ViewPager 实现,生命周期方法可以比您预期的更晚或更早调用。

I am not sure exactly when I should initialise/release member of child class.

您基本上应该依赖两种方法:onStart()onStop()。在 onStart() 中,您创建类成员并初始化您想要的一切。在 onStop() 方法中,您应该取消初始化所有内容并删除您在 onStart() 中设置的所有监听器。

方法 setUserVisibleHint() 独立于 onStart()onStop() 使用。你最好不要初始化或破坏其中的任何东西。您不能将其视为生命周期方法,因为它不是。它只是给你一个提示,你的 fragment 对用户可见。在这里您可以开始或停止动画,或请求数据更新或执行类似的任务。这是此方法的唯一目的。

Required suggestion from you guys, will it be preferable to use PageViwer in this case or I should go with traditional activity flow for each of component.

如果您的 Activity 符合所提到的要点之一,我建议您使用 ViewPager。否则,您可能会考虑其他选择。

更新:您很可能不会经常覆盖 fragment 的onCreate()onDestroy() 生命周期方法。您将改用 onCreateView()onDestroyView() 方法。在那里你可以实现所谓的静态初始化,当 fragment 仍然存在时不会改变的初始化。这是布局初始化和类似的任务。

关于android - 应该在哪里使用PageViewer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25200404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com