海,在我的计算器应用程序,当我点击计算按钮结果正常出现,但是当我改变方向计算结果正在消失。当我将纵向从纵向改为横向时,我的计算结果正在消失。如何解决它?
6
A
回答
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好一个....和易于使用 – BBdev 2012-10-19 11:54:45
@BBdev我添加了一个新的国旗screenSize。如果你不在Android> 3中添加它,该方法将不会被调用 – Aracem 2012-12-03 09:19:13