我正在创建一个应用程序,根据您选择的颜色更改颜色,这会更改背景,但是当我将屏幕方向设置为横向时,这会自动将颜色更改为预定义,如果我没有错,则会发生这种情况因为我在改变方向后会被破坏......所以我想知道在哪里以及如何解决这个问题。
答案 0 :(得分:2)
Android让您有机会在更改布局之前保存状态
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
mColor = savedInstanceState.getString(COLOR_VALUE);
}
@Override //this method is called before android trashes and recreates your activity
protected void onSaveInstanceState (Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(COLOR_VALUE, mColor);
}
如果重新创建UI的代价很高,那么请查看保留的片段