我有一些EditText元素,它们的TextColor设置取决于某些计算。但是,当设备旋转时,文本颜色将恢复为黑色。
有关我应该如何防止这种情况的任何想法?
没关系,想想我得到了保留设置所需方法的要点。
答案 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();
}
...
}