java– 当膨胀以前膨胀的应用程序崩溃的片段时

java– 当膨胀以前膨胀的应用程序崩溃的片段时,第1张

概述该应用程序加载并查看显示地图的EventFragment.java.当您单击另一个选项卡片段时,它会正常加载,当您返回到第一个选项卡(地图)时,它会崩溃并出现以下错误:07-0314:13:54.640:E/AndroidRuntime(11565):FATALEXCEPTION:main07-0314:13:54.640:E/AndroidRuntime(11565):andr

该应用程序加载并查看显示地图的EventFragment.java.当您单击另一个选项卡片段时,它会正常加载,当您返回到第一个选项卡(地图)时,它会崩溃并出现以下错误:

07-03 14:13:54.640: E/AndroIDRuntime(11565): FATAL EXCEPTION: main07-03 14:13:54.640: E/AndroIDRuntime(11565): androID.vIEw.InflateException: Binary XML file line #5: Error inflating class fragment07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.vIEw.LayoutInflater.createVIEwFromTag(LayoutInflater.java:587)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.vIEw.LayoutInflater.rInflate(LayoutInflater.java:623)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.vIEw.LayoutInflater.inflate(LayoutInflater.java:408)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.vIEw.LayoutInflater.inflate(LayoutInflater.java:320)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at co.uk.thesomewhere.townpearlfest.EventFragment.onCreateVIEw(EventFragment.java:48)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.support.v4.app.Fragment.performCreateVIEw(Fragment.java:1460)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.support.v4.app.FragmentManagerImpl.movetoState(FragmentManager.java:911)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1264)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.support.v4.app.BackStackRecord.run(BackStackRecord.java:672)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.support.v4.app.FragmentManagerImpl.run(FragmentManager.java:429)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.os.Handler.handleCallback(Handler.java:587)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.os.Handler.dispatchMessage(Handler.java:92)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.os.Looper.loop(Looper.java:143)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.app.ActivityThread.main(ActivityThread.java:4196)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at java.lang.reflect.Method.invokeNative(Native Method)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at java.lang.reflect.Method.invoke(Method.java:507)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:597)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at dalvik.system.NativeStart.main(Native Method)07-03 14:13:54.640: E/AndroIDRuntime(11565): Caused by: java.lang.IllegalArgumentException: Binary XML file line #5: Duplicate ID 0x7f05000b, tag null, or parent ID 0x0 with another fragment for com.Google.androID.gms.maps.SupportMapFragment07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.support.v4.app.FragmentActivity.onCreateVIEw(FragmentActivity.java:285)07-03 14:13:54.640: E/AndroIDRuntime(11565):    at androID.vIEw.LayoutInflater.createVIEwFromTag(LayoutInflater.java:563)07-03 14:13:54.640: E/AndroIDRuntime(11565):    ... 19 more07-03 14:13:56.280: I/Process(11565): Sending signal. PID: 11565 SIG: 9

所以读它说的是XML文件行5.这是XML文件:

<FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent" >    <fragment        androID:ID="@+ID/the_map"        androID:name="com.Google.androID.gms.maps.SupportMapFragment"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent" />    <button        androID:ID="@+ID/btn_filerVIEw"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:paddingleft="10dp"        androID:paddingtop="10dp"        androID:drawableRight="@drawable/magglasswhite"        androID:background="@androID:color/transparent"        androID:onClick="filterVIEw" /></FrameLayout>

这恰好是<片段所以..错误是片段是啊?我真的不知道发生了什么事.任何想法为什么会抛出错误?

解决方法:

我今天一整天都在和同样的问题作斗争.我让我的工作更早.这就是我所做的:当更改显示的片段时,我首先删除旧的mapFragment,然后执行我在添加新片段时通常所做的 *** 作.

Fragment oldMapFrag = getSupportFragmentManager().findFragmentByID(R.ID.map);if(oldMapFrag != null) {    getSupportFragmentManager().beginTransaction().remove(oldMapFrag).commit();    manager.popBackStack();    VIEwGroup container = (VIEwGroup)findVIEwByID(R.ID.content);    if(container != null)        container.removeAllVIEws();}

当我想再次查看mapFragment时,我删除了之前的片段,然后再次使用mapFragment为视图充气:

Fragment currentFrag = getSupportFragmentManager().findFragmentByID(R.ID.content);if(currentFrag != null) {    getSupportFragmentManager().beginTransaction().remove(currentFrag).commit();    manager.popBackStack();}VIEw mapVIEw = inflator.inflate(R.layout.store_finder, container, true);

我不知道为什么getSupportFragmentManager().beginTransaction().remove(oldMapFrag).commit();在第一步中工作是因为您不能删除XML中定义的片段,但这对我有用.我希望它有所帮助.

总结

以上是内存溢出为你收集整理的java – 当膨胀以前膨胀的应用程序崩溃的片段时全部内容,希望文章能够帮你解决java – 当膨胀以前膨胀的应用程序崩溃的片段时所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1106750.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存