-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