1

当设备旋转时,我有基于纵向/横向的不同布局。所以我不能把这条线放在清单中:

android:configChanges="orientation|screenSize|keyboardHidden"

但是,如果用户在一个EditText字段中并且键盘不在,并且在该字段中填充了文本,然后他们旋转设备,键盘隐藏并且文本丢失(让用户感到沮丧)。

有没有适当的方法来处理这种情况?

4

1 回答 1

1

为什么不能使用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);
}
于 2013-02-21T19:23:38.367 回答