Android应用程序错误 - 重复ID 0x7f04000f,标记为空,或父ID为0x0与另一个片段com.google.android.gms.maps.SupportMapFragment为空、

2023-09-05 09:46:12 作者:情话与酒.

我试图做一个简单的Andr​​oid应用程序时遇到了问题修复这个bug。

该应用程序有4片固定键导航和错误发生在4选项卡,然后切换到另一个选项卡时。作为上任何其他网页正常工作,但在第4片每次都造成了致命的错误。没有什么,页面上除了一个TextView元素。谁能帮我找出什么是错的或点我在正确的方向?

  02-17 21:48:54.378:E / AndroidRuntime(5543):致命异常:主要
02-17 21:48:54.378:E / AndroidRuntime(5543):android.view.InflateException:二进制XML文件中的行#12:错误充气类片段
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.view.LayoutInflater.inflate(LayoutInflater.java:489)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
02-17 21:48:54.378:E / AndroidRuntime(5543):在com.example.testthree.MainActivity $ MapSectionFragment.onCreateView(MainActivity.java:241)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1264)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.BackStackRecord.run(BackStackRecord.java:672)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.view.ViewPager.populate(ViewPager.java:1012)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:523)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:495)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:476)
02-17 21:48:54.378:E / AndroidRuntime(5543):在com.example.testthree.MainActivity.onTabSelected(MainActivity.java:95)
02-17 21:48:54.378:E / AndroidRuntime(5543):在com.android.internal.app.ActionBarImpl.selectTab(ActionBarImpl.java:570)
02-17 21:48:54.378:E / AndroidRuntime(5543):在com.android.internal.app.ActionBarImpl $ TabImpl.select(ActionBarImpl.java:1067)
02-17 21:48:54.378:E / AndroidRuntime(5543):在com.android.internal.widget.ScrollingTabContainerView$TabClickListener.onClick(ScrollingTabContainerView.java:489)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.view.View.performClick(View.java:4084)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.view.View $ PerformClick.run(View.java:16966)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.os.Handler.handleCallback(Handler.java:615)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.os.Handler.dispatchMessage(Handler.java:92)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.os.Looper.loop(Looper.java:137)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.app.ActivityThread.main(ActivityThread.java:4745)
02-17 21:48:54.378:E / AndroidRuntime(5543):在java.lang.reflect.Method.invokeNative(本机方法)
02-17 21:48:54.378:E / AndroidRuntime(5543):在java.lang.reflect.Method.invoke(Method.java:511)
02-17 21:48:54.378:E / AndroidRuntime(5543):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786)
02-17 21:48:54.378:E / AndroidRuntime(5543):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-17 21:48:54.378:E / AndroidRuntime(5543):在dalvik.system.NativeStart.main(本机方法)
02-17 21:48:54.378:E / AndroidRuntime(5543):与另一个片段com.google重复ID 0x7f04000f,标记为空,或父ID为0x0:致:java.lang.IllegalArgumentException:如果二进制XML文件中的行#12 .android.gms.maps.SupportMapFragment
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:285)
02-17 21:48:54.378:E / AndroidRuntime(5543):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
02-17 21:48:54.378:E / AndroidRuntime(5543):30 ...更多
 

解决方案

与下面的code。在我的地图碎片固定它:

 公共无效onDestroyView(){
    super.onDestroyView();
    FragmentManager FM = getActivity()getSupportFragmentManager()。
    片段片段=(fm.findFragmentById(R.id.map));
    FragmentTransaction英尺= fm.beginTransaction();
    ft.remove(片段);
    ft.commit();
}
 

怎么在Windows 11上安装Android应用程序

I'm trying to make a simple android app and am having trouble fixing this bug.

The app has a 4 tab fixed button navigation and the error occurs when on the 4th tab and switching to another tab. Being on any other page works fine but the 4th tab is causing a fatal error every time. There is nothing on that page except a TextView element. Can anyone help me figure out what's wrong or point me in the right direction?

02-17 21:48:54.378: E/AndroidRuntime(5543): FATAL EXCEPTION: main
02-17 21:48:54.378: E/AndroidRuntime(5543): android.view.InflateException: Binary XML file line #12: Error inflating class fragment
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at com.example.testthree.MainActivity$MapSectionFragment.onCreateView(MainActivity.java:241)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1264)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:672)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.view.ViewPager.populate(ViewPager.java:1012)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:523)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:495)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:476)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at com.example.testthree.MainActivity.onTabSelected(MainActivity.java:95)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at com.android.internal.app.ActionBarImpl.selectTab(ActionBarImpl.java:570)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at com.android.internal.app.ActionBarImpl$TabImpl.select(ActionBarImpl.java:1067)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at com.android.internal.widget.ScrollingTabContainerView$TabClickListener.onClick(ScrollingTabContainerView.java:489)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.view.View.performClick(View.java:4084)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.view.View$PerformClick.run(View.java:16966)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.os.Handler.handleCallback(Handler.java:615)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.os.Handler.dispatchMessage(Handler.java:92)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.os.Looper.loop(Looper.java:137)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.app.ActivityThread.main(ActivityThread.java:4745)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at java.lang.reflect.Method.invokeNative(Native Method)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at java.lang.reflect.Method.invoke(Method.java:511)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at dalvik.system.NativeStart.main(Native Method)
02-17 21:48:54.378: E/AndroidRuntime(5543): Caused by: java.lang.IllegalArgumentException: Binary XML file line #12: Duplicate id 0x7f04000f, tag null, or parent id 0x0 with another fragment for com.google.android.gms.maps.SupportMapFragment
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:285)
02-17 21:48:54.378: E/AndroidRuntime(5543):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
02-17 21:48:54.378: E/AndroidRuntime(5543):     ... 30 more

解决方案

Fixed it with the following code in my map fragment:

public void onDestroyView() {
    super.onDestroyView();
    FragmentManager fm = getActivity().getSupportFragmentManager();
    Fragment fragment = (fm.findFragmentById(R.id.map));
    FragmentTransaction ft = fm.beginTransaction();
    ft.remove(fragment);
    ft.commit();
}