android:应用程序崩溃当我点击后退按钮(activitygroup TabWidget)

android:应用程序崩溃当我点击后退按钮(activitygroup TabWidget),第1张

概述每一个人! 一年前,我用“ActivityGroup TabWidget”组合开发了一个应用程序,它在android os 2.3上运行良好.但是我在os 4.0上测试了它,我发现它有时会崩溃. – 如果我打开应用程序,我什么也不做,我点击“返回”,它运行良好. – 如果我打开应用程序,在应用程序中导航(单击列表项,查看详细信息项然后返回),然后当我回到选项卡的“根”页面时,我单击“返回”,它会崩 每一个人!

一年前,我用“ActivityGroup TabWidget”组合开发了一个应用程序,它在android os 2.3上运行良好.但是我在os 4.0上测试了它,我发现它有时会崩溃.
– 如果我打开应用程序,我什么也不做,我点击“返回”,它运行良好.
– 如果我打开应用程序,在应用程序中导航(单击列表项,查看详细信息项然后返回),然后当我回到选项卡的“根”页面时,我单击“返回”,它会崩溃. (它应该正常关闭应用程序)——–在这种情况下,activitygroup启动新活动并接收返回的keyevent
– 如果我打开应用程序,请在上面的应用程序中导航,但是juste会查看不是由活动组启动的视图,而是通过组中的根活动. Il运作良好.

我的ActivityGroup中有一些代码

public voID startActivity(Intent intent) {// Start the root activity withing the group and get its vIEw    VIEw vIEw = getLocalActivityManager().startActivity(ID,intent)                                        .getDecorVIEw();    // Replace the vIEw of this ActivityGroup    replaceVIEw(vIEw);}public voID back() {    if(history.size() > 1) {  //history = new Array@R_419_6818@<VIEw>(); global variable        history.remove(history.size()-1);        setContentVIEw(history.get(history.size()-1));        mIDs.pop();    }else {        finish();    // I trIEd to commment it too,but no lucks    }}@OverrIDepublic boolean onKeyDown(int keyCode,KeyEvent event)  {    if (keyCode == KeyEvent.KEYCODE_BACK) {        back();        return true;    }    return super.onKeyDown(keyCode,event);}

还有错误堆栈:

05-18 18:47:47.687: E/AndroIDRuntime(6828): FATAL EXCEPTION: main05-18 18:47:47.687: E/AndroIDRuntime(6828): java.lang.IllegalStateException: Can not                 perform this action after onSaveInstanceState05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1213)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at     androID.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:442)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.app.Activity.onBackpressed(Activity.java:2121)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.app.Activity.onKeyUp(Activity.java:2099)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.KeyEvent.dispatch(KeyEvent.java:2557)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.app.Activity.dispatchKeyEvent(Activity.java:2329)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.policy.impl.PhoneWindow$DecorVIEw.dispatchKeyEvent(PhoneWindow.java:1806)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.policy.impl.PhoneWindow$DecorVIEw.superdispatchKeyEvent(PhoneWindow.java:1859)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.policy.impl.PhoneWindow.superdispatchKeyEvent(PhoneWindow.java:1361)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.app.Activity.dispatchKeyEvent(Activity.java:2324)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.policy.impl.PhoneWindow$DecorVIEw.dispatchKeyEvent(PhoneWindow.java:1806)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.Widget.TabHost.dispatchKeyEvent(TabHost.java:298)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1248)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.policy.impl.PhoneWindow$DecorVIEw.superdispatchKeyEvent(PhoneWindow.java:1859)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.policy.impl.PhoneWindow.superdispatchKeyEvent(PhoneWindow.java:1361)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.app.Activity.dispatchKeyEvent(Activity.java:2324)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.policy.impl.PhoneWindow$DecorVIEw.dispatchKeyEvent(PhoneWindow.java:1806)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwRootImpl.deliverKeyEventPostIme(VIEwRootImpl.java:3300)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwRootImpl.handleFinishedEvent(VIEwRootImpl.java:3273)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.vIEw.VIEwRootImpl.handleMessage(VIEwRootImpl.java:2436)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.os.Handler.dispatchMessage(Handler.java:99)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.os.Looper.loop(Looper.java:137)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at androID.app.ActivityThread.main(ActivityThread.java:4340)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at java.lang.reflect.Method.invokeNative(Native Method)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at java.lang.reflect.Method.invoke(Method.java:511)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:551)05-18 18:47:47.687: E/AndroIDRuntime(6828):     at dalvik.system.NativeStart.main(Native Method)

我没有使用Fragment,因为当我开发这个应用程序时它不是由androID sdk发布的.

有任何想法吗?每个想法都将受到赞赏!
谢谢!

解决方法 您可以使用onBackpressed()来实现所需的结果,您可以通过以下方式使用它.

public voID onBackpressed(){  //Your code here  super.onBackpressed();}

最重要的是确保您已在所有将在您的活动组中使用的子活动中实施此方法.

总结

以上是内存溢出为你收集整理的android:应用程序崩溃当我点击后退按钮(activitygroup TabWidget)全部内容,希望文章能够帮你解决android:应用程序崩溃当我点击后退按钮(activitygroup TabWidget)所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存