NullPointerException android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState
2015-07-20 15:37
274 查看
今天在使用android.support.v4.view.ViewPager和Fragment时,发现程序运行期间总是意外退出,报异常
07-20 15:44:59.453 31957-31957/com.zhang.ChatTab W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40aa6300)
07-20 15:44:59.453 31957-31957/com.zhang.ChatTab E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576)
at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1617)
at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:481)
at android.app.Activity.performSaveInstanceState(Activity.java:1137)
at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1215)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3079)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3138)
at android.app.ActivityThread.access$900(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1232)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4966)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
百思不得其解,最终查阅相关资料,找到相关两种的解决方法:
一.在每个Fragment的布局文件中每个View必须分配一个ID,包括主布局控件。
二.在继承Fragment的类中,重载onSaveInstanceState方法,并且向outState中传入任意内容,如outState.putString("test","test")
至于其中的原理就不太明白了,哪位大牛知道了,也希望可以给予解释下
07-20 15:44:59.453 31957-31957/com.zhang.ChatTab W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40aa6300)
07-20 15:44:59.453 31957-31957/com.zhang.ChatTab E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576)
at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1617)
at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:481)
at android.app.Activity.performSaveInstanceState(Activity.java:1137)
at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1215)
at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3079)
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3138)
at android.app.ActivityThread.access$900(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1232)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4966)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
百思不得其解,最终查阅相关资料,找到相关两种的解决方法:
一.在每个Fragment的布局文件中每个View必须分配一个ID,包括主布局控件。
二.在继承Fragment的类中,重载onSaveInstanceState方法,并且向outState中传入任意内容,如outState.putString("test","test")
至于其中的原理就不太明白了,哪位大牛知道了,也希望可以给予解释下
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories