朋友,
我正面临与Android手机屏幕方向相关的问题
如果我改变了手机的方向,那么如果我正在填写一个简单的表格,它就会失去上下文。因此,手机是垂直的,我使用的是软键盘,我将其设置为水平,以便我可以轻松地再次使用键盘或其他东西,而kaboom,到目前为止我输入的所有内容都丢失了。
任何人都会指导我在改变方向后保持数据和状态相同的解决方案是什么?
任何帮助都会得到满足。
答案 0 :(得分:1)
那是因为活动实际上是在方向变化时重新创建的。您必须在更改之前保存状态,然后将其还原。覆盖onSaveInstanceState以将数据保存到bundle。然后可以在onCreate上访问数据(再次使用捆绑包)。
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putSerializable("Key", "Some data"); //put some data
super.onSaveInstanceState(outState);
}