【问题标题】:Best Practice: Navigation Drawer最佳实践:导航抽屉
【发布时间】:2014-04-26 00:26:26
【问题描述】:

在导航抽屉设计模式的android development tutorial 中,推荐的管理不同布局的方法是使用片段。这些片段通过FragmentTransaction().replace() 事务进行交换。在我看来,导航抽屉片段通常会反复交换和重新加载。因此在这种情况下使用FragmentTransaction.show()FragmentTransaction.hide() 调用不是更有意义吗?

现在使用NavigationDrawer 的最佳做法是什么?

【问题讨论】:

    标签: android android-fragments navigation-drawer


    【解决方案1】:

    是的,它们会重复加载,就像活动一样...

    Google 公开的最佳做法是:FragmentTransaction.replace(),因为:

    1. 他们知道自己在做什么 ^^
    2. 一次只加载一个片段

    【讨论】:

      【解决方案2】:

      如果您主要关心的是在导航抽屉中使用片段..那么您可以使用它。

      片段只是提供了一种无需创建新 Activity 即可轻松将一个布局替换为另一个布局的方法。

      如果您仍想为您的导航抽屉使用活动,那么您可以使用它。

      现在就维护它的状态而言,android actionBar 本身提供了可以维护您的应用程序状态的方法。

      Now as per Android documentation as you are referring .. it is always good to have fragment as they a light weighted in context of to use new activity each time for your app.
      

      希望对你有帮助!

      【讨论】:

      • 我可以在 NavigationDrawer 中使用片段。我只是不明白为什么加载这些片段的默认行为是通过 .replace() 而不是 .show() 和 .hide()。
      • 当你回到之前的活动时,你必须面临重新加载的问题..我希望你一定是在使用 ActionBar.. 是吗?
      • 我的导航抽屉中有 5 个片段,在每个片段中,我通过 Web 服务加载了一些 json 数据。现在即使我确实缓存了检索到的数据(我使用 google volley 检索数据),在重新加载片段时也会有半秒的延迟,因为我必须先重新创建片段并从缓存中获取数据,这不会使用 .hide() 在后台保持片段处于活动状态时会出现问题。
      • 哦,是的..我也面临同样的问题..想知道同样的问题。会让你知道......否则,如果你得到,请提出相同的解决方案。 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多