2017-06-14 5 views
-1

Ich habe zwei Aktivitäten wie MainActivity und InfoActivity. Es gibt EditText in MainActivity. Ich füge einen Wert zur Editbox von der Objektklasse im Hochformat ein und drehe Gerät zu Landschaft, das Objekt ist unverändert. Jetzt befindet sich MainActivity im Querformat und klicken Sie auf die Info-Schaltfläche, um auf InfoActivity zu verschieben, das heißt Hochformat. Wenn ich zu MainActivity zurückkomme, stürzt die Anwendung ab. Ich verfolgt Störung zu erhalten:Wie speichere ich Daten zur Gerätedrehung, während ich von einer Aktivität zur anderen gehe?

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=1000, data=Intent { (has extras) }} to activity: 

Dies ist mein Code-Schnipsel:

@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(); 
       } 
      } 
     } 
} 

Antwort

0

Sie nicht korrektes Ergebnis Code und Anforderungscode

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

     } 
    } 
} 
+0

Nichts für mich gearbeitet überprüft haben. Den gleichen Absturz auslösen. – Philliphe

+0

Können Sie bitte Ihren Code aktualisieren, den Sie ausprobiert haben – Krutik

+0

Siehe I aktualisierten Code. Ich stürze mich in diese Funktion precisionSettingsUpdated(), weil mein Objekt "calculatorModel" seinen Zustand nicht fortsetzt. – Philliphe

Verwandte Themen