あるアクティビティから別のアクティビティにデータを渡す必要があります。初回は新しいインテントが作成されるので問題ありません。私の問題は、フラグ FLAG_ACTIVITY_REORDER_TO_FRONT を使用することです。これは、アクティビティを切り替えるたびに onCreate に入りたくないため、アクティビティを破棄したくないためです。私の質問は、実行中の 2 つのアクティビティから配列を渡すにはどうすればよいですか?
Yatzyに似たAndroidスタジオでゲームを作成しています。1 つのアクティビティではサイコロを転がし、もう 1 つのアクティビティではスコアボードでスコアを設定します。プレーヤーがスコアボードにナビゲートされるたびに、すでに選択されているものを除いて、可能なすべての結果が表示され (これらの場所では、選択された結果が表示されます)、プレーヤーはスコアを選択できます。 "。2 つのアクティビティ間を移動するときに、リセットしたくない情報が含まれているため、それらを破棄したくありません。したがって、FLAG_ACTIVITY_REORDER_TO_FRONT を使用しますが、これを使用すると、サイコロの新しい組み合わせは表示されず、サイコロの最初の組み合わせのみが表示されます。
MainActivity からデータを渡すときは次のとおりです。
Intent openMainActivity= new Intent(MainActivity.this, ScoreboardActivity.class);
openMainActivity.putExtra("scoreList", game.showScoreAlt());
openMainActivity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
startActivity(openMainActivity)
他のアクティビティでデータを受け取るときは次のとおりです。
Bundle extras = getIntent().getExtras();
scoreList = extras.getIntArray("scoreList");