【问题标题】:Drawer Activity in android and where to load data?android中的抽屉活动以及在哪里加载数据?
【发布时间】:2016-09-23 18:00:52
【问题描述】:

我最近刚接触 Android 开发和片段的一般概念。在ios 中,我能够使用SWRevealController 创建drawer menu 体验,它使每个页面都保留为自己的viewcontroller - 大致相当于activity。这些单独的viewcontrollers 非常清楚在哪里加载数据,并且在其生命周期中非常自我​​管理。

现在在 android 中,drawer activity 将菜单的每一页作为fragment - 都属于同一个activity。这给我留下了几个选择:

  1. 拥有一个知道如何为每个可能的页面加载所有数据的大型活动。这可能是最容易做到但最难维护的。
  2. 让每个片段都知道如何加载/显示自己的数据。这看起来很理想,但如果在 onViewCreated 中完成,则会出现重新加载/复制数据的问题。此外,即使数据加载以异步方式完成,它也会使抽屉活动的初始加载非常缓慢。
  3. 对于每个都需要进行自己的 API 调用的许多抽屉视图来说,什么是易于维护的方法?

【问题讨论】:

    标签: android android-fragments android-lifecycle


    【解决方案1】:

    与 iOS 相比,在 android 中有很多生命周期方法。

    您还可以为每个视图创建活动并扩展具有抽屉控制的 BaseActivity。所以这样你在基类中有抽屉控制,你也可以在其他活动中得到抽屉。

    其次,如果您使用 Fragment 方式,您可以使用 setUserVisibilityHint() 或 onViewCreated() 方法调用 api,或者您也可以使用 onResume() 方法进行少量检查。更多请查看this

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 1970-01-01
    • 2023-03-19
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多