onSaveInstanceState始终返回null

时间:2015-11-21 17:21:52

标签: android android-activity

我还在处理我的应用,我有一个新问题。 在我的WarikeActivity上我有一个按钮,这个按钮将我发送到MapActivity,然后我想用MapActivity中的一些值回到我的WarikeActivy,我试过这个:

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    savedInstanceState.putByteArray("byte_warike", byteArray);
    super.onSaveInstanceState(savedInstanceState);
}

然后当然

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    byteArray = savedInstanceState.getByteArray("byte_warike");
    foto = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
    imgFoto.setImageBitmap(foto);
}

但是应用程序崩溃是因为byte_array始终为null。有关如何解决它的任何想法? 我正在阅读其他帖子,因为我无法解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:3)

OnSaveInstanceState和onRestoreInstanceState实际上只应在重新创建活动时使用,并希望保存有关自身的一些信息。 另一方面,您希望将信息发送到之前的活动。

Reto Meier(一位从事Android工作的Google员工)已经给出了如何在此处完成此操作的完美回复:How to pass the values from one activity to previous activity