java如何将HashMap<String,Object>从一个活动传递到另一个活动
我在第一个活动中的当前代码是
public final static String doctorDataKEY = "asLSAD654sdf";
Intent intent = new Intent(this, Activity_Doctor.class);
//passing values to user activity
intent.putExtra(doctorDataKEY, (Parcelable) data);
在第二个活动中
private Map<String, Object> doctorData = new HashMap<>();
final Intent intent = getIntent();
doctorData = (Map<String, Object>) intent.getSerializableExtra(Activity_Doctor_Login.doctorDataKEY);
它没有显示代码中的任何错误,但当我运行应用程序时,当我按下按钮时,它就会崩溃
我认为如果它的地图<;弦,弦>;但由于这是firestore的数据集,我相信我必须使用Map<;字符串,对象>
# 1 楼答案
由于您使用的是
putExtra()
,因此此方法将额外添加为Parcellable
,并且在第二个活动中,您将从Serializable
获得额外内容。因此,该值将为null,并且由于您将其强制转换为HashMap<>
,因此它将引发一个类强制转换异常你需要用这个
而不是
intent.getSerializableExtra(Activity_Doctor_Login.doctorDataKEY)