观察 Android 模拟器中的应用程序行为,我发现更改屏幕方向 (Ctrl+F11) 后,EditText 内容被保留。但 TextView 内容被重置为其初始值,并且不保留程序设置的最新信息。这是定义上的行为吗?我可以做什么来保留这些内容?
您可以使用savedInstanceBundle
通过重写活动中的两个方法来保留数据,类似于下面:
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save state to the savedInstanceState
savedInstanceState.putString("MyString", textview.getText());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore state from savedInstanceState
String myString = savedInstanceState.getString("MyString");
textview.setText(myString);
}
将您的项目添加到Bundle
in onSaveInstanceState
,并在期间读回它们onRestoreInstanceState
。这与创建活动时通过意图传递值的方式类似。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)