1 回答
![?](http://img1.sycdn.imooc.com/54584ee0000179f302200220-100-100.jpg)
TA贡献1906条经验 获得超10个赞
首先,以onCreate.以外的其他方法访问 SharedPreferences 是完全有效的。如果您在这篇文章中遇到一些问题,请查看错误消息/问题。
其次,为了在屏幕旋转时保留内容,您可以onSaveInstanceState在 Activity 中使用 来保存微调器选择并onCreate在屏幕旋转时获得状态。例如:
private int saved_selection = -1
@Override
protected void onCreate(Bundle savedInstanceState) {
//...
if (savedInstanceState != null) {
saved_selection = savedInstanceState.getInt("SPINNER_SELECTION");
}
//...
}
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putInt("SPINNER_SELECTION", saved_selection);
// call superclass to save any view hierarchy
super.onSaveInstanceState(outState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//...
// set `saved_selection = i;` in your adapter
//...
if( saved_selection >= 0 ) {
mSpinner.setSelection(saved_selection);
}
}
添加回答
举报