0

arraylist extra の 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 に答える