Fragment 无法在Activity.onSaveInstanceState方法后commit
来源:互联网 发布:linux select函数 编辑:程序博客网 时间:2024/05/04 17:37
logcat的提示信息: Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// intent.setDataAndType(Uri.fromFile(new File("/mnt/sdcard/update.apk")), "application/vnd.android.package-archive");intent.setDataAndType(Uri.fromFile(t), "application/vnd.android.package-archive");startActivity(intent);
经过一番网上查阅,发现API 11 以上某些控件,包括 Fragment还有ActivityGroup,在调用saveInstanceState
存在Bug,可能是google对
saveInstanceState的实现做过修改。
是在使用FragmentTransition的 commit方法添加一个Fragment的时候出现的,后来在官网找到了相关的
说明:http://developer.android.com/reference/android/app/FragmentTransaction.html#commitAllowingStateLoss()
public abstract int commitAllowingStateLoss ()
Like commit()
but allows the commit to be executed after an activity's state is saved. This is dangerous because the commit can be lost if the activity needs to later be restored from its state, so this should only be used for cases where it is okay for the UI state to change unexpectedly on the user.
这个方法与commit()一样,但是允许在activity的状态信息保存后调用。用这个方法是不安全的,有可能activity还没恢复呢就不执行commit方法了。所以这个方法只能用在ui状态转换意外的时候
再给它添加Fragment就会出错。
- Fragment 无法在Activity.onSaveInstanceState方法后commit
- onSaveInstanceState() 与 fragment.commit()
- Activity的onSaveInstanceState方法
- Activity缓存方法--onSaveInstanceState
- onSaveInstanceState调用时机以及fragment commit的时机
- activity使用fragment transaction.commit()进行fragment切换,activity被系统回收后再点应用就无法切换
- activity使用fragment transaction.commit()进行fragment切换,activity被系统回收后再点应用就无法切换
- 在fragment跳转到activity是出现onSaveInstanceState空指针的解决方法
- Android Activity生命周期方法onSaveInstanceState
- DialogFragment在Activity执行onSaveInstanceState完成后调用show报BUG的解决方案
- FragmentManager在Activity重建后,add的fragment消失,救命
- activity 中的 onSaveInstanceState方法的调用时机
- Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
- 利用onSaveInstanceState()方法保存Activity状态
- 保存activity状态的方法: onSaveInstanceState()
- 学习Activity保存状态的onSaveInstanceState方法
- Activity的onSaveInstanceState()和onRestoreInstanceState()方法
- Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
- 【c++程序】汉诺塔
- 测试
- Linux 监控系统开发详解(一)------内核配置参数的查找
- 观把时间做朋友有感
- CF_496C Removing Columns
- Fragment 无法在Activity.onSaveInstanceState方法后commit
- android 开启service和绑定service
- 关于强制类型转换——《C专家编程》笔记
- SQL函数用法大全
- 串行通讯与并行通讯区别
- 5、位运算符、按位与、按位或、按位非、左移、右移、原码、反码、补码
- 【2012-12】【斐波那契循环节】Evil Teacher
- 线性莫队算法 BZOJ 2038 小Z的袜子
- M序列