あなたの助けが必要です。アプリケーションを作成していて、メソッドonSaveInstanceState()
とを使用していますonRestoreInstanceState()
が、2 番目のメソッドが機能しません。
ホームボタンが押されたときにプログラムが onSaveinstancestate() にアクセスする方法を確認できますが、アプリケーションに戻ると、コードはonRestoreInstanceState()
orを呼び出しませんonCreate()
。
その結果、アプリケーションはゼロから開始されます。理由がわかりません...助けてもらえますか?
これは私のコードです:
public class MainActivity extends ActionBarActivity {
MyView myView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myView = new MyView(this);
setContentView(myView);
if (savedInstanceState != null) {
myView .SetScore(savedInstanceState.getInt("Id"));
myView .SetNivel(savedInstanceState.getInt("Valor"));
}
}
.....
@Override
protected void onRestart(){
super.onRestart();
myView = new MyView(this);
setContentView(myView );
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState){
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState != null) {
myView.SetScore(savedInstanceState.getInt("Id"));
myView.SetNivel(savedInstanceState.getInt("Valor"));
}
}
@Override
protected void onSaveInstanceState(Bundle savedInstanceState){
savedInstanceState.putInt("Score",myView.GetId());
savedInstanceState.putInt("Nivel",muView.GetValor());
super.onSaveInstanceState(savedInstanceState);
}
}