您的位置:首页 > 其它

onCreate(Bundle savedInstanceState, PersistableBundle persistentState)大坑!

2016-09-30 23:42 411 查看
我遇见的情况是使用这个方法之后不显示布局文件的内容,经过一段坎坷路才发现是这个方法的问题。会导致下面根本就不会往下走!

@Override
//此方法不会走initData()
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
initData();
}
@Override
//此方法可以执行initData()
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initData();
}


看了一下源码,里面还是调用了原始的onCreate()方法,结合以下两个方法使用

@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
@Override
public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onRestoreInstanceState(savedInstanceState, persistentState);
}


最后在配置文件中注册当前Activity的时候加上这个属性,Android:persistableMode=”persistAcrossReboots”就可以给你的Activity存储一些持久化数据。当你的手机有突发情况的时候,可以给你的页面获取到相关数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  onCreate
相关文章推荐