当设备旋转时,我有基于纵向/横向的不同布局。所以我不能把这条线放在清单中:
android:configChanges="orientation|screenSize|keyboardHidden"
但是,如果用户在一个EditText
字段中并且键盘不在,并且在该字段中填充了文本,然后他们旋转设备,键盘隐藏并且文本丢失(让用户感到沮丧)。
有没有适当的方法来处理这种情况?
当设备旋转时,我有基于纵向/横向的不同布局。所以我不能把这条线放在清单中:
android:configChanges="orientation|screenSize|keyboardHidden"
但是,如果用户在一个EditText
字段中并且键盘不在,并且在该字段中填充了文本,然后他们旋转设备,键盘隐藏并且文本丢失(让用户感到沮丧)。
有没有适当的方法来处理这种情况?
为什么不能使用android:configChanges
然后覆盖onConfigurationChanged
然后将 EditText 中的任何内容存储在临时变量中,调用 UI 初始化方法(从 onCreate 中取出 findViewById 并将其放在单独的方法中),然后将 EditText 设置为临时变量。
这是我为按钮所做的示例
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
setContentView(R.layout.main);
Log.i("configChange", "configChange");
String tmp = connect.getText().toString();
boolean onTmp = on.isEnabled();
boolean offTmp = off.isEnabled();
boolean connTmp = reconnect.isEnabled();
InitializeUI();
connect.setText(tmp);
on.setEnabled(onTmp);
off.setEnabled(offTmp);
reconnect.setEnabled(connTmp);
}