0
  1. 开始打字(图A)。
  2. 旋转屏幕并继续输入文本(图 B)。
  3. 纵向旋转屏幕,我看到了旧文本。!

为什么?

<activity 
 android:name=".activity.Login"
 android:configChanges="orientation"  />

onConfigurationChanged:

    String email = etEmail.getText().toString();
    String password = etPassword.getText().toString();

    setContentView(R.layout.login);

    etEmail = (EditText) findViewById(R.id.etEmail);
    etEmail.setText(email);
    etPassword = (EditText) findViewById(R.id.etPassword);
    etPassword.setText(password);
    btnLogin = (Button) findViewById(R.id.btnLogIn);
    btnLogin.setOnClickListener(lBtnLogin);

A:

一个

乙:

乙

4

2 回答 2

0

这可能对你有用。

String email = etEmail.getText().toString();
String password = etPassword.getText().toString();
etEmail = (EditText) findViewById(R.id.etEmail);
etEmail.setText(email);    
etPassword = (EditText) findViewById(R.id.etPassword);
etPassword.setText(password);
btnLogin = (Button) findViewById(R.id.btnLogIn);
btnLogin.setOnClickListener(lBtnLogin);

我不知道为什么要在 onConfigurationChanged 中添加此代码。无需在 onConfigurationChanged 中添加此代码,它将给出相同的结果。如果您想为不同的方向设置不同的布局,请再制作一个 xml 布局并将其保存在 res/layout-land 中。

于 2012-04-25T23:02:12.800 回答
0

尝试使用

android:configChanges="orientation|screenSize"

我认为在 Android 4 之后需要添加这个以及 screenSize

于 2012-04-25T19:59:44.357 回答