2011-04-11 38 views

回答

2

請參閱有關如何使用Bundle保存您的活動的狀態這個例子。首先你必須重寫onSaveInstanceState方法。

public void onSaveInstanceState(Bundle savedInstanceState) { 
    TextView txtName = (TextView)findViewById(R.id.raj44); 
    String aString = txtName.getText().toString(); 
    savedInstanceState.putString("Name", aString); 
    super.onSaveInstanceState(savedInstanceState); 
} 

onCreate方法,你可以再從保存的捆綁恢復實例的狀態。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.concretetool); 
    if (savedInstanceState != null) { 
     String aString = savedInstanceState.getString("Name"); 
     if (aString != null) { 
      txtName = (TextView)findViewById(R.id.raj44); 
      txtName.setText(aString); 
     } 
    } 
} 
0

活動在方向更改後重新啓動。你必須保存在束

的電流值(我假設你的意思是一個Android應用程序)

3

試試這個代碼

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
} 

,並在manifest.xml

<application android:icon="@drawable/icon" android:label="@string/app_name">´ 
    <activity android:name="XXXXX" 
       android:label="@string/app_name" 
       android:configChanges="keyboard|keyboardHidden|orientation|screenSize"> //this <-- 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    ... 
</application> 

編輯: 我增加了屏幕尺寸的標誌。在android> 3中,如果你不添加這個標誌,onConfigurationChanged方法將不會被調用。

+1

+1好一個....和易於使用 – BBdev 2012-10-19 11:54:45

+0

@BBdev我添加了一個新的國旗screenSize。如果你不在Android> 3中添加它,該方法將不會被調用 – Aracem 2012-12-03 09:19:13

相關問題