Android 单击导航抽屉项目时出现充气异常
我按照创建导航抽屉的方法,并按照使用默认项在onCreate方法中调用selectItem的结构,只是以以下内容开始片段:Android 单击导航抽屉项目时出现充气异常,android,android-fragments,Android,Android Fragments,我按照创建导航抽屉的方法,并按照使用默认项在onCreate方法中调用selectItem的结构,只是以以下内容开始片段: if (savedInstanceState == null) { selectItem(99); //default map to start with } 这要求: private void selectItem(int position) { MyMapFragmentActivity fragMap = new My
if (savedInstanceState == null) {
selectItem(99); //default map to start with
}
这要求:
private void selectItem(int position) {
MyMapFragmentActivity fragMap = new MyMapFragmentActivity();
Bundle args = new Bundle();
args.putInt(MyMapFragmentActivity.ARG_MENU_ITEM, position);
fragMap.setArguments(args);
FragmentManager fragMgr = getFragmentManager();
fragMgr.beginTransaction().replace(R.id.content_frame, fragMap).commit();
}
因此,在第一次启动应用程序时,它运行良好,片段打开。导航抽屉也可以工作,当我单击菜单时,它会打开带有菜单项列表的抽屉以供选择
但是,当我单击侦听器中的某个项目时,它会中断:
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "Menu clicked " + position , Toast.LENGTH_LONG).show();
selectItem(position);
mDrawerLayout.closeDrawer(mMenuList);
}
}
请张贴完整的日志。谢谢。好的,在上面编辑了我的帖子。我的片段不是MapFragment,只是普通片段:公共类MyMapFragmentActivity扩展片段实现LocationListener、GoogleMap.OnMapClickListener、GoogleMap.OnMapLongClickListener{嗯,看看例外情况,我想你的布局中有一张地图,对吗?请发布。我认为问题是一样的。
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment" />
E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.this.empire, PID: 26454
android.view.InflateException: Binary XML file line #2: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719)
at android.view.LayoutInflater.inflate(LayoutInflater.java:470)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at com.example.this.empire.MyMapFragmentActivity.onCreateView(MyMapFragmentActivity.java:66)
at android.app.Fragment.performCreateView(Fragment.java:1700)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
at android.app.BackStackRecord.run(BackStackRecord.java:684)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5586)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Binary XML file line #2: Duplicate id 0x7f0a0059, tag null, or parent id 0x0 with another fragment for com.google.android.gms.maps.SupportMapFragment
at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2164)
at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297)
at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
at android.view.LayoutInflater.inflate(LayoutInflater.java:470)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at com.example.this.empire.MyMapFragmentActivity.onCreateView(MyMapFragmentActivity.java:66)
at android.app.Fragment.performCreateView(Fragment.java:1700)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
at android.app.BackStackRecord.run(BackStackRecord.java:684)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1453)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5586)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)