Как передать данные из MainActivity в несколько действий - PullRequest
0 голосов
/ 02 мая 2020

Мой проект выглядит примерно так:

  1. MainActivity
  2. SelectActivity
  3. MapActivity

У меня есть данные о моей MainActivity, которые мне нужно отправить в MapActivity, проблема в том, что я не могу go прямо в MapActivity, не выбрав элемент из моей SelectActivity.

Я делал следующее:

    Intent intent = new Intent(MainActivity.this, MapSelectActivity.class);
    Bundle b = new Bundle();
    b.putDouble("Lon",longitude);
    b.putDouble("Lat",latitude);
    intent.putExtras(b);
    startActivity(intent);

Но приложение только начало падать из-за того, что я упоминал ранее, что я не могу go в активности без того, чтобы что-то было выбрано из SelectActivity.

Есть мысли о том, как я могу это сделать ?. Я надеюсь, что я ясно дал понять. Спасибо заранее за вашу помощь.

1 Ответ

1 голос
/ 02 мая 2020

При переходе от MainActivity к SelectActivity, а затем от SelectActivity к MapActivity

И если вы хотите отправить данные с MainActivity на MapActivity, то вы можете отправить это данные в два этапа:

  • Этап 1: от MainActivity до SelectActivity
  • Этап 2: от SelectActivity MapActivity

In MainActivity:

Intent intent = new Intent(MainActivity.this, SelectActivity.class);
Bundle b = new Bundle();
b.putDouble("Lon",longitude);
b.putDouble("Lat",latitude);
intent.putExtras(b);
startActivity(intent);

In SelectActivity:

// get the bundle sent from MainActivity to SelectActivity
Bundle b = getIntent().getExtras();
Intent intent = new Intent(SelectActivity.this, MapActivity.class);

// add more data to bundle from the SelectActivity
// b.addXX();

intent.putExtras(b);
startActivity(intent);

In MapActivity:

// get the bundle sent from SelectActivity to MapActivity
Bundle b = getIntent().getExtras();
b.getDouble("Lon");
b.getDouble("Lat");
...