解决did not call through to super.onDestroy()
2016-04-12 19:34
441 查看
问题原因:
在onDestroy函数中,删除掉了super.onDestroy()代码所导致的问题。
相同的问题,在重写 onStart()、onStop()、onResume()、onPause()、onDestroy() 等函数时也要留意此问题。
在onDestroy函数中,删除掉了super.onDestroy()代码所导致的问题。
04-13 19:26:26.529: E/AndroidRuntime(15242): FATAL EXCEPTION: main 04-13 19:26:26.529: E/AndroidRuntime(15242): Process: xxx, PID: 15242 04-13 19:26:26.529: E/AndroidRuntime(15242): android.support.v4.app.SuperNotCalledException: Fragment MakeFragment{3d3c209c #1 id=0x7f090118} did not call through to super.onDestroy() 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.support.v4.app.Fragment.performDestroy(Fragment.java:1722) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1056) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.support.v4.app.FragmentManagerImpl.removeFragment(FragmentManager.java:1201) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:639) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.os.Handler.handleCallback(Handler.java:739) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.os.Handler.dispatchMessage(Handler.java:95) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.os.Looper.loop(Looper.java:135) 04-13 19:26:26.529: E/AndroidRuntime(15242): at android.app.ActivityThread.main(ActivityThread.java:5312) 04-13 19:26:26.529: E/AndroidRuntime(15242): at java.lang.reflect.Method.invoke(Native Method) 04-13 19:26:26.529: E/AndroidRuntime(15242): at java.lang.reflect.Method.invoke(Method.java:372) 04-13 19:26:26.529: E/AndroidRuntime(15242): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) 04-13 19:26:26.529: E/AndroidRuntime(15242): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
解决方法:
加上super.onDestroy()代码即可解决问题。@Override public void onDestroy() { super.onDestroy(); ... }
相同的问题,在重写 onStart()、onStop()、onResume()、onPause()、onDestroy() 等函数时也要留意此问题。
相关文章推荐
- JSP中内建exception对象时出现500错误的解决方法
- 解析java中super的用法分析
- 详解Java编程中super关键字的用法
- PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
- MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket
- 举例讲解Java编程中this关键字与super关键字的用法
- java之super关键字用法实例解析
- 详解Java中super的几种用法并与this的区别
- Android中比较常见的Java super关键字
- Python中的super()方法使用简介
- python之super的使用小结
- Python中super关键字用法实例分析
- Python中super的用法实例
- Python中的super用法详解
- php中error与exception的区别及应用
- 是时候开始引入异常化编程了!
- 关于Scala多重继承的菱形问题
- fix java exception
- 启动hive命令报错 “Metastore contains multiple versions”
- Spring Boot学习笔记-错误处理及自定义