Android - 如何在活动之间传递HashMap <String,String>?

Par*_*ani 38 android hashmap android-activity

如何将detailHashMap 传递给另一个Activity?

HashMap<String,String> detail = new HashMap<String, String>();
detail.add("name","paresh");
detail.add("surname","mayani");
detail.add("phone","99999");
......
......
Run Code Online (Sandbox Code Playgroud)

st0*_*0le 64

这很简单,所有Collections对象都实现Serializable(sp?)interface,这意味着它们可以作为Extras传递Intent

使用putExtra(String key, Serializable obj)插入HashMap和其他Activity用途getIntent().getSerializableExtra(String key),您需要将返回值转换为一个HashMap虽然.


Par*_*ani 57

解:

发件人活动:

HashMap<String, String> hashMap= adapter.getItem(position);
Intent intent = new Intent(SourceActivity.this, DestinationActivity.class);
intent.putExtra("hashMap", hashMap);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

接收者活动:

Intent intent = getIntent();    
HashMap<String, String> hashMap = (HashMap<String, String>) intent.getSerializableExtra("hashMap");
Run Code Online (Sandbox Code Playgroud)