【问题标题】:Best way to handle multiple swappable Fragments on orientation change在方向更改时处理多个可交换片段的最佳方法
【发布时间】:2013-02-04 21:56:43
【问题描述】:

我使用SlidingMenu 来显示侧抽屉(而不是标签)。现在,在SlidingMenuFragment 内部,有一个ListView,有6 行,每行相当于一个制表符。 当用户触摸 6 个项目中的一个时,内容视图应使用该项目的相应 Fragment 更新 Framelayout

例如:

  1. 动物

当您选择猫时,SlidingMenu 消失,CatsFragment 应该出现在屏幕上,替换那里的旧片段。

问题:存储所有要在内容视图之间交换的片段的最佳方式是什么,同时考虑到方向变化? 每次我需要交换它时实例化一个新的片段?或者将它们全部实例化,将它们保存在列表中,然后从那里使用它们?

我做了什么:

  1. 每当片段需要交换时,我都会使用下面的代码。
  2. 为了存储片段列表以便于访问,我使用了 ArrayList。我将此 ArrayList 保存在 onRetainCustomNonConfiguration() 中并在方向更改后检索它,这样我就不会实例化另一个片段列表,但我不认为这是一个好主意。

        getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.activity_main_framelayout, mFragmentsList.get(mCurrentFragmentPosition))
        .commit();
    

【问题讨论】:

    标签: android android-fragments android-fragmentactivity android-sliding


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 2014-08-13
    • 2021-12-31
    • 2011-07-28
    相关资源
    最近更新 更多