2 回答
TA贡献1776条经验 获得超12个赞
您可以将 Bundle 中的每个值分开,而不是在 Intent 中传递 HashMap。就像这样:
Intent intent = new Intent(ViewStaffActivity.this,ProfileCRUD.class);
HashMap<String, String> hashMap = staffList.get(position);
Bundle extras = new Bundle();
extras.putString("NAME", hashmap.get("name"));
extras.putString("EMAIL", hashmap.get("email"));
extras.putString("USER_TYPE", hashmap.get("user_type"));
extras.putString("CREATED_AT", hashmap.get("created_at"));
intent.putExtras(extras);
startActivity(intent);
然后在另一个 Activity 的 onCreate() 中您将使用:
Bundle extras = getIntent().getExtras();
String name = extras.get("NAME");
...
TA贡献1828条经验 获得超4个赞
您可以将 HashMap 转换为 json 并通过 Intent 发送。使用以下代码发送意图:
String jsonStaff = (new Gson()).toJson(staffList.get(position));
intent.putExtra("jsonStaff", jsonStaff);
并专注于另一项活动,如下所示:
String jsonStaff = intent.getStringExtra("jsonStaff");
HashMap<String,String > dataStaff = (new Gson()).fromJson(jsonStaff, new HashMap<String,String >().getClass());
就这些。
添加回答
举报