-1
我有兩個活動像MainActivity和InfoActivity。 MainActivity中有EditText。我在縱向模式中將對象類的編輯框插入一些值,並將設備旋轉到橫向,對象不變。現在MainActivity處於橫向模式,然後單擊信息按鈕以移動縱向的InfoActivity。當我回到MainActivity時,應用程序會崩潰。我收到以下錯誤:如何在從一個活動移動到另一個活動時保存設備旋轉數據?
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=1000, data=Intent { (has extras) }} to activity:
這是我的代碼片段:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("OBJECT_CALC", calculatorModel);
}
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
calculatorModel = (CalculatorModel) savedInstanceState.getSerializable("OBJECT_CALC");
mFormulaEditText.setText(df.format(mCalculatorBrain.getResult()));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode != RESULT_CANCELED) {
if (requestCode == SUCCESS_CODE) {
if (resultCode == 1000) {
if (isValueChanged && !mFormulaEditText.getText().toString().equals("0")) {
precisionSettingsUpdated();
}
}
}
}
不是爲我工作。觸發相同的崩潰。 – Philliphe
您可以請更新您嘗試使用的代碼 – Krutik
請參閱我更新的代碼。我得到這個函數precisionSettingsUpdated()崩潰,因爲我的對象「calculatorModel」不堅持它的狀態。 – Philliphe