【问题标题】:Nested fragment problems on orientation change关于方向变化的嵌套片段问题
【发布时间】:2015-05-14 13:08:34
【问题描述】:

我有这种情况。

  1. 抽屉布局 -> 每个部分都是一个片段
  2. 一个部分包含一个页面查看器(3 个片段)
  3. 每个fragment都包含一个recyclerview,每个item都是一个fragment

我有一些问题。

  1. 当屏幕方向改变时,我总是移动到页面适配器的第一个片段。

  2. 如果我在这些片段之一中写了一些东西,并且屏幕方向发生变化,一切都会丢失。

  3. 与 onPause 等相同的问题。 我该如何处理这种情况? 谢谢。

【问题讨论】:

  • 有什么解决办法吗?我面临同样的问题

标签: android android-fragments android-viewpager android-nested-fragment


【解决方案1】:

确保您在嵌套的 Fragment 中使用 getChildFragmentManager() 而不是 getFragmentManager()/getSupportFragmentMAnager()

【讨论】:

  • 是的,我使用 getChildFragmentManager,但是如果我在第 5 个元素的页面查看器的第二页中,我应该怎么做。我旋转屏幕,活动将在重新创建后销毁。那么,我怎么能说好,我在第二页和第 5 个元素内?
【解决方案2】:

也许会有所帮助。只需将其粘贴到您的 AndroidManifest 文件中

android:configChanges="orientation|keyboardHidden|screenSize"

【讨论】:

    【解决方案3】:

    添加这个android:configChanges="keyboardHidden|orientation|screenSize"> AndroidManifest.xml 的内部活动 和 将它添加到每个片段对我来说都很好。

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }else{
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
    }
    

    【讨论】:

    • 当然答案没那么简单。否则我不会创建这个问题.. 但是谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多