EditText文本颜色在设备旋转时恢复为黑色

时间:2011-09-03 08:24:35

标签: android-layout

我有一些EditText元素,它们的TextColor设置取决于某些计算。但是,当设备旋转时,文本颜色将恢复为黑色。

有关我应该如何防止这种情况的任何想法?


没关系,想想我得到了保留设置所需方法的要点。

2 个答案:

答案 0 :(得分:0)

您的onCreate将再次被召唤。你在那里的所有东西都将被设置为那里的值。我使用SharedPreferences来存储我需要用于我的小部件的值,它适用于旋转屏幕,退出并再次进入应用程序。

答案 1 :(得分:0)

http://developer.android.com/guide/topics/resources/runtime-changes.html

基本上我只是在销毁Activity时保存了值,并在创建它时检索它们。

例如,

@Override
public Object onRetainNonConfigurationInstance() {
    final MyDataObject data = collectMyLoadedData();
    return data;
}

然后在活动本身内

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final MyDataObject data = (MyDataObject) getLastNonConfigurationInstance();
    if (data == null) {
        data = loadMyData();
    }
    ...
}