0

我将arraylist的hashmap额外放在旧意图中(SaleActivity)

Intent newActivity = new Intent(SaleActivity.this,UpdateActivity.class);
newActivity.putExtra("saleArrList", saleArrList);
startActivity(newActivity);

然后,我从 newactivity (UpdateActivity)

Intent intent= getIntent();
final ArrayList<HashMap<String, String>> saleArrList = intent.get...Extra("saleArrList");

... 中的什么代码,我应该使用。非常感谢大家的回答。

4

1 回答 1

1

当您添加额外内容时,它会将您的数组列表视为Serializable. 你应该使用:

Serializable serialized = intent.getSerializableExtra("saleArrList");

不幸的是,将其转换为ArrayList<HashMap<String,String>>将生成有关未经检查的转换的编译器警告。这是由于类型擦除在 Java 中的工作方式。没有干净简单的方法可以消除此警告。不干净的方法是通过放置来抑制警告

@SuppressWarnings("unchecked")

在您的方法的顶部。这会抑制所有未经检查的转换警告,因此它不是特别安全。但是,您可以编写:

final ArrayList<HashMap<String, String>> saleArrList =
    (ArrayList<HashMap<String,String>>)intent.getSerializableExtra("saleArrList");
于 2012-11-06T06:29:33.860 回答