我需要将数据从一项活动传递到另一项活动。第一次没有问题,因为创建了一个新的意图。我的问题是我使用了标志FLAG_ACTIVITY_REORDER_TO_FRONT,因为我不想破坏该活动,因为我不想每次切换活动时都进入onCreate。我的问题是,如何从两个正在运行的活动中传递数组?
我正在android studio中创建一个类似于Yatzy的游戏。在一项活动中,掷骰子,在另一项活动中,您在记分板上设置分数。每次将玩家导航到记分板时,都会显示所有可能的结果,除了已选择的结果(在这些地方,您会看到所选择的结果),然后玩家可以选择一个分数,例如“满屋”。当我在两个活动之间导航时,我不想破坏它们,因为它们包含我不想重置的信息。因此,我使用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");
答案 0 :(得分:1)
您可以尝试这种 Activity.onNewIntent()方法。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}