Java 如何将数据从MainActivity传递到多个Activity
我的项目看起来像这样:Java 如何将数据从MainActivity传递到多个Activity,java,android,android-studio,android-intent,Java,Android,Android Studio,Android Intent,我的项目看起来像这样: 主要活动 选择活动 地图活动 我有关于我的MainActivity的数据需要发送到MapActivity,问题是如果我没有从SelectActivity中选择项目,我就无法直接进入MapActivity 我在做以下工作: Intent intent = new Intent(MainActivity.this, MapSelectActivity.class); Bundle b = new Bundle(); b.putDouble("Lon",
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);
但是应用程序刚刚开始崩溃,因为我前面提到,如果没有从SelectActivity中选择内容,我就无法进入活动
我该怎么做呢?。
我希望我已经说清楚了。
感谢您在advace中的帮助。当您从
main活动
导航到SelectActivity
,然后从SelectActivity
导航到MapActivity
如果要将数据从MainActivity
发送到MapActivity
,则可以分两个阶段发送此数据:
- 第1阶段:从
到main活动
SelectActivity
- 第二阶段:从
到SelectActivity
MapActivity
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);
在选择活动中:
// 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);
在MapActivity中:
// get the bundle sent from SelectActivity to MapActivity
Bundle b = getIntent().getExtras();
b.getDouble("Lon");
b.getDouble("Lat");
我没有数据库,我只想发送两个double,它会正常工作吗?您希望如何在这三个活动之间导航?是从MainActivity到SelectActivity,然后从SelectActivity到MapActivity,对吗?是的,这就是我导航的方式。谢谢你的回答,现在我有一个问题,如果我让应用程序chrash。@AlejandroSantamaría如果问题与同一个问题相关,你能用崩溃报告更新问题吗。或者你可以用它来打开一个新的问题,使每个问题都有一定的问题范围。@AlejandroSantamaría如果你觉得这样有帮助,请接受这个答案,这将有助于让人们在将来有同样的问题。