将片段从视图寻呼机移动到另一个容器

时间:2016-10-23 07:52:28

标签: android android-viewpager fragment

更新 好的,我想出了什么是问题。我尝试按标签找到片段,但是当我将它添加到适配器时,我无法为片段设置标签。 但我不知道如何添加。

我在我的应用中使用了风景和肖像。横向布局包含两个constrait布局,纵向布局包含一个带有Fragment状态寻呼机的视图页面。我有一个带有Recycler视图的Fragment和一个带有饼图的Fragment。当我将手机从陆地旋转到肖像时,我得到一个异常,片段容器具有不同的ID,所以我在片段管理器中删除片段然后再添加它。它解决了异常,但在这种情况下,我无法保留循环视图的状态。 我怎么能

3 个答案:

答案 0 :(得分:0)

好的,如果您想停止应用程序在方向更改时重新创建。将此行android:configChanges="orientation|screenSize"添加到AndroidManifest.xml文件中的活动中。此行会停止在方向更改时重新创建应用,它只会更改方向。

  

实施例

<activity android:name=".MainActivity"
    android:configChanges="orientation|screenSize" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

答案 1 :(得分:0)

我不确定,但是这个函数说,它将保留片段状态。你可能想试试这个:

setRetainInstance

来自Android Docs

它不会破坏和重新创建片段。

答案 2 :(得分:0)

最后我想出了问题所在。 在将片段添加到寻呼机之前,我必须通过添加(片段,标记)来设置标记。 这是错误,我没有为片段设置标签,所以当我试图通过标签找到片段时,它是空的,我总是创造一个新实例。