【发布时间】:2016-03-03 18:43:18
【问题描述】:
当我在 onSaveInstanceState 方法中成功将数据保存到 Bundle 时,我不知道为什么 saveInstanceState 在 onCreate 方法中始终为空。 当我在 AVD 上运行我的程序并单击后退按钮(破坏活动)然后通过单击其图标再次创建它时,保存的状态始终为空。 这是一个测试这个问题的简单程序。
package com.example.myTestApp;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.button);
if(savedInstanceState == null){
button.setText("No");
}else{
button.setText("Yes");
}
}
static final String STATE_SCORE = "playerScore";
static final String STATE_LEVEL = "playerLevel";
private int mCurrentScore = 1;
private int mCurrentLevel = 2;
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);
}
}
如果可能的话,告诉我如何解决这个问题。
【问题讨论】:
标签: android