Android 为什么';t我的碎片';布局的动态变化?

Android 为什么';t我的碎片';布局的动态变化?,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我正在制作一个片段,它的布局应该是动态变化的。以下是它的布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orie

我正在制作一个
片段
,它的布局应该是动态变化的。以下是它的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:id="@+id/root">

</LinearLayout>  
我试图删除配置更改的所有视图,但什么也没发生此处需要更改什么?

您是否已“注册”活动以配置更改

您需要添加:

 <activity android:name="com.bla.bla.YourActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" >

在您的清单中,以获取对onConfigurationChanged的调用

编辑:

但是,更好的方法是在不同的布局文件夹(布局区域或布局端口)中使用两种不同的布局。一个带有gridview,另一个带有listview。这样,您就不需要“手动”处理配置更改。只需处理onCreate中的差异。。。
(您的活动将在配置更改时被销毁并再次创建…

要求有一个
活动
,并让它承载各种片段:)是的,我也会这样做(编辑中描述的…@jpm如果我需要一个
导航抽屉
,该怎么办。在这种情况下,让一个活动承载各种片段不是更好的选择吗?:)对不起,我是新来的没问题。我不太明白你的意思。如果您发布的布局就是此活动的全部内容,我看不出使用各种片段的理由。一个活动,两个布局文件(在两个不同的文件夹中使用相同的名称(请参阅))应该可以实现这一点…@jpm在这里,我只是测试
片段是否确实可以根据方向更改布局。在最后一个应用程序中,将有一个导航抽屉。对于多个活动,会有很多XML重复吗?:)
 <activity android:name="com.bla.bla.YourActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" >