2017-06-14 41 views
-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(); 
       } 
      } 
     } 
} 

回答

0

你沒有檢查正確的結果碼和請求碼

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(resultCode != RESULT_CANCELED){ 
     if (requestCode == YOUR_REQUEST_CODE) { 

     } 
    } 
} 
+0

不是爲我工作。觸發相同的崩潰。 – Philliphe

+0

您可以請更新您嘗試使用的代碼 – Krutik

+0

請參閱我更新的代碼。我得到這個函數precisionSettingsUpdated()崩潰,因爲我的對象「calculatorModel」不堅持它的狀態。 – Philliphe

相關問題