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();
}
}
}
}
Nichts für mich gearbeitet überprüft haben. Den gleichen Absturz auslösen. – Philliphe
Können Sie bitte Ihren Code aktualisieren, den Sie ausprobiert haben – Krutik
Siehe I aktualisierten Code. Ich stürze mich in diese Funktion precisionSettingsUpdated(), weil mein Objekt "calculatorModel" seinen Zustand nicht fortsetzt. – Philliphe