更改屏幕方向后 TextView 内容丢失

2024-02-23

观察 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(使用前将#替换为@)

更改屏幕方向后 TextView 内容丢失 的相关文章

随机推荐