我的主要活动是
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_incipient);
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
TopClipsFragment topClipsFragment = TopClipsFragment.newInstance();
MyClipsFragment myClipsFragment= MyClipsFragment.newInstance();
fragmentTransaction.add(R.id.frame_container, myClipsFragment,"My");
fragmentTransaction.add(R.id.frame_container, topClipsFragment, "Top");
fragmentTransaction.commit();
}
和布局文件:panel.xml
为
<android.support.v4.widget.SlidingPaneLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/voz_action_bar" >
</android.support.v4.widget.SlidingPaneLayout>
所以我在这里要做的是在Activity的onCreate方法中的SlidingPaneLayout中添加两个片段。当我启动我的应用程序时,这个工作正常。但是当设备方向改变时,我得到了这个例外
E / SlidingPaneLayout(2192):onMeasure:有两个以上的子视图 不支持
在这种情况下如何处理方向更改
答案 0 :(得分:0)
我认为在切换方向时调用onCreate方法,并且您尝试向SlidingPaneLayout添加更多子项。根据您的需要,您可能会在切换方向时阻止调用onCreate,方法是在清单中添加:
android:configChanges="orientation"
在活动块内。如果你想要调用onCreate(也许你想改变你正在使用的布局),那么你应该做的不同。