当屏幕方向改变时,为什么文本无法访问?

时间:2012-04-25 19:55:40

标签: android android-layout

  1. 开始输入(图片A)。
  2. 旋转屏幕并继续输入文字(图片B)。
  3. 以纵向旋转屏幕,我看到旧文本。!
  4. 为什么?

    <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

    B:

    B

2 个答案:

答案 0 :(得分:0)

尝试使用

android:configChanges="orientation|screenSize"

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

答案 1 :(得分: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中。