理解できなくて申し訳ありませんが、私はアンドロイド開発の初心者です。
アクティビティ A とアクティビティ B を含むアプリケーションがあり、アクティビティ A からアクティビティ B に移動します。アクティビティ A を離れると、onSaveInstanceState
メソッドが呼び出されましたが、アクティビティ A に戻ると (同じアプリケーションのアクティビティ B から) )、onCreate
メソッドのバンドルが null でした。
アクティビティ A の以前の状態を保存するにはどうすればよいですか? アプリケーションの有効期間中だけデータを保存したい。
誰かがこれで私を助けることができますか?
アクティビティ A のコードは次のとおりです。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState != null)
{
Log.v("Main", savedInstanceState.getString("test"));
}
else
{
Log.v("Main", "old instance");
}
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState)
{
Log.v("Main", "save instance");
savedInstanceState.putString("test", "my test string");
super.onSaveInstanceState(savedInstanceState);
}
public void buttonClick(View view)
{
Intent intent = new Intent(this, Activity2.class);
startActivity(intent);
}
ボタンを押してアクティビティ A に戻るときのアクティビティ B のコードを次に示します。
public void onBack(View view)
{
NavUtils.navigateUpFromSameTask(this);
}