1. ホーム
  2. android

[解決済み] インテントを使用してハッシュマップの値を別のアクティビティに送信する方法

2023-06-22 19:38:02

質問

送信方法 HashMap の値を送るには?

また、その HashMap の値を取得する方法は?

どのように解決するのですか?

Java の HashMap クラスは、HashMap クラスを継承しています。 Serializable インターフェイスを継承しているため、インテントに追加する際には Intent.putExtra(String, Serializable) メソッドを使って簡単にインテントに追加できます。

インテントを受信したアクティビティ/サービス/ブロードキャストレシーバーで、次に Intent.getSerializableExtra(String) を putExtra で使用した名前で呼び出します。

例えば、インテントを送信する際に

HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("key", "value");
Intent intent = new Intent(this, MyOtherActivity.class);
intent.putExtra("map", hashMap);
startActivity(intent);

そして、受信側のActivityで

protected void onCreate(Bundle bundle) {
    super.onCreate(savedInstanceState);

    Intent intent = getIntent();
    HashMap<String, String> hashMap = (HashMap<String, String>)intent.getSerializableExtra("map");
    Log.v("HashMapTest", hashMap.get("key"));
}