当用户将设备旋转到横向模式时尝试更改片段宽度
那是我的片段:
<fragment
android:id = "@+id/menu"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="myPackage.MenuFragment" />
这就是我的 onConfigurationChanged 方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
findViewById(R.id.menu).getLayoutParams().width = (int) (getWindowManager()
.getDefaultDisplay().getWidth());
}
但是当我旋转设备时,输出崩溃:
05-14 03:00:51.379: E/AndroidRuntime(3117): 致命异常: main 05-14 03:00:51.379: E/AndroidRuntime(3117): android.view.InflateException: 二进制 XML 文件行 #13: 错误膨胀类片段 05-14 03:00:51.379: E/AndroidRuntime(3117): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:582) 05-14 03:00:51.379: E/AndroidRuntime(3117):在 android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 05-14 03 :00:51.379: E/AndroidRuntime(3117): 在 android.view.LayoutInflater.inflate(LayoutInflater.java:407) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.view.LayoutInflater。膨胀(LayoutInflater.java:320)05-14 03:00:51.379:E/AndroidRuntime(3117):在 android.view。LayoutInflater.inflate(LayoutInflater.java:276) 05-14 03:00:51.379: E/AndroidRuntime(3117): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.app.Activity.setContentView(Activity.java:1654) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 softserveinc.dbyst.reveal .Reveal_prototypeActivity.onConfigurationChanged(Reveal_prototypeActivity.java:71) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.app.ActivityThread.performConfigurationChanged(ActivityThread.java:4153) 05-14 03:00:51.379 : E/AndroidRuntime(3117): 在 android.app.ActivityThread.handleConfigurationChanged(ActivityThread.java:4246) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.app.ActivityThread$H.handleMessage( ActivityThread.java:2215) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.os.Handler.dispatchMessage(Handler.java:99) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.os.Looper.loop(Looper .java:143) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.app.ActivityThread.main(ActivityThread.java:4914) 05-14 03:00:51.379: E/AndroidRuntime(3117) ): at java.lang.reflect.Method.invokeNative(Native Method) 05-14 03:00:51.379: E/AndroidRuntime(3117): at java.lang.reflect.Method.invoke(Method.java:521) 05 -14 03:00:51.379: E/AndroidRuntime(3117): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-14 03:00:51.379: E/AndroidRuntime(3117 ): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 dalvik.system.NativeStart。main(Native Method) 05-14 03:00:51.379: E/AndroidRuntime(3117): Caused by: java.lang.IllegalArgumentException: Binary XML file line #13: Duplicate id 0x7f050001, tag null, or parent id 0x0 with another myPackage.MenuFragment 的片段 05-14 03:00:51.379: E/AndroidRuntime(3117): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:275) 05-14 03:00:51.379: E /AndroidRuntime(3117): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:558) 05-14 03:00:51.379: E/AndroidRuntime(3117): ... 19 更多app.FragmentActivity.onCreateView(FragmentActivity.java:275) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:558) 05-14 03:00: 51.379: E/AndroidRuntime(3117): ... 19 更多app.FragmentActivity.onCreateView(FragmentActivity.java:275) 05-14 03:00:51.379: E/AndroidRuntime(3117): 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:558) 05-14 03:00: 51.379: E/AndroidRuntime(3117): ... 19 更多
我做错了什么?