2012-04-25 32 views
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

B:

B

回答

0

嘗試USI NG

android:configChanges="orientation|screenSize" 

我認爲Android 4之後,這需要增加以及屏幕尺寸

+0

不起作用:( – user413881 2012-04-25 20:11:51

+0

如果您只想保留文本,則根本不需要onConfigurationChanged中的任何代碼 – Tony 2012-04-25 20:14:54

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中。

相關問題