我想在活动之间传递数据。当我使用一个活动(详细信息)时,一切正常,但是当我添加第二个活动(MapsActivity)时,应用程序将忽略(详细信息)并将数据仅传输到MapsActivity。我该如何解决?预先感谢
holder.itemView.setOnClickListener(v -> {
Intent mIntent = new Intent(context, Details.class);
Intent mapIntent= new Intent(context,MapsActivity.class);
mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mapIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mIntent.putExtra("Country_CurrencyCode", pozycja.getCurrencies().get(0).getCode());
mIntent.putExtra("Country_CurrencyName", pozycja.getCurrencies().get(0).getName());
mIntent.putExtra("Country_CurrencySymbol", pozycja.getCurrencies().get(0).getSymbol());
context.startActivity(mIntent);
mapIntent.putExtra("Country_Lat",pozycja.getLatlng().get(0));
mapIntent.putExtra("Country_Lng",pozycja.getLatlng().get(1));
context.startActivity(mapIntent);
答案 0 :(得分:0)
这是我没有想到的行为,但是在测试您的代码之后,我发现了以下这些内容:
您首先进行Details
活动,然后进行第二MapsActivity
活动。
结果是您在屏幕上看到第二个活动:MapsActivity
。
对于此活动,您可以检查它是否具有传递的所有其他值。
发生的事情是,尽管您也已经启动了第一个活动:Details
,但尚未调用其onCreate()
,但是在您关闭第二个活动MapsActivity
时将立即调用它然后您会看到它的附加功能随您放置而存在。
因此,第一个活动可以正常使用,但在调用onCreate()
之前,您无法访问它们。
因此,一种解决方法:
仅启动Details
活动,但不仅传递自己的附加功能,还传递MapsActivity
的附加功能。
在“详细信息”的onCreate()
开始于MapsActivity
中,
自己的附加功能。