处理方法
你需要重写 onSaveInstanceState(Bundle savedInstanceState),把你想要保存的状态写入到 Bundle 中,如下
1
2
3
4
5
6
7
8
9
10
11
12
|
@Override
public
void
onSaveInstanceState(Bundle savedInstanceState) {
super
.onSaveInstanceState(savedInstanceState);
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.
savedInstanceState.putBoolean(
"MyBoolean"
,
true
);
savedInstanceState.putDouble(
"myDouble"
,
1.9
);
savedInstanceState.putInt(
"MyInt"
,
1
);
savedInstanceState.putString(
"MyString"
,
"Welcome back to Android"
);
// etc.
}
|
Bundle 的本质是键值对的方式存储,你可以通过 onCreate()和 onRestoreInstanceState() 或的对应的值
1
2
3
4
5
6
7
8
9
10
|
@Override
public
void
onRestoreInstanceState(Bundle savedInstanceState) {
super
.onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
boolean
myBoolean = savedInstanceState.getBoolean(
"MyBoolean"
);
double
myDouble = savedInstanceState.getDouble(
"myDouble"
);
int
myInt = savedInstanceState.getInt(
"MyInt"
);
String myString = savedInstanceState.getString(
"MyString"
);
}
|
您通常会使用这项技术来存储实例的值的应用程序(选择,未保存的文本等)。
原文地址:http://www.itmmd.com/201410/38.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。