android 横竖屏切换与数据保存
一,横竖屏切换时不重新载入数据,只需在menifest中加入:
android:configChanges="keyboardHidden|orientation"
二,横竖屏切换时重新载入数据,程序会程序进入onCreate,因此需要对数据进行存储以备后用。
***方法一:
@Override
public Object onRetainNonConfigurationInstance() {
// save data :browserHistoryAdapter
Intent i = new Intent();
Bundle b = new Bundle();
b.putSerializable(KEY_HISTORY_SAVED, (Serializable) browserHistoryAdapter);
i.putExtras(b);
return i;
}
// get saved data after configure changed :browserHistoryAdapter
Intent historySaved;
if((historySaved = (Intent) getLastNonConfigurationInstance()) == null){
historySaved = getIntent();
}
if(historySaved != null && historySaved.getExtras() != null){
browserHistoryAdapter = (BrowserHistoryAdapter) historySaved.getExtras().get(KEY_HISTORY_SAVED);
}
***方法二:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// save data :url
outState.putString(STR_URL, url);
}
// get saved data after configure changed :url
if (savedInstanceState != null) {
url = savedInstanceState.getString(STR_URL);
}
更多相关文章
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- ButterKnife基本使用
- android的事物
- Dockerfile中使用sdkmanager安装Android(安卓)SDK自动接受licens
- android自定义viewGroup常用方法
- 8.Swift openURL
- Android实现ListView点击事件+SQLite数据存储