Передача данных между двумя запущенными действиями - PullRequest
0 голосов
/ 11 июля 2019

Мне нужно передать данные из одного мероприятия в другое. В первый раз проблем нет, потому что создается новое намерение. Моя проблема в том, что я использую флаг FLAG_ACTIVITY_REORDER_TO_FRONT, потому что я не хочу уничтожать активность, так как я не хочу входить в onCreate каждый раз, когда я переключаю активность. У меня вопрос, как я могу передать массив из двух запущенных действий?

Я создаю игру в андроид студии, похожую на 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");

1 Ответ

1 голос
/ 11 июля 2019

Вы можете попробовать этот Activity.onNewIntent () метод.

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
}

Ссылка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...