Làm cách nào để gửi HashMap
giá trị từ một Ý định đến Mục đích thứ hai?Cách gửi giá trị băm bản đồ đến một hoạt động khác bằng cách sử dụng mục đích
Ngoài ra, cách lấy giá trị HashMap
trong Hoạt động thứ hai?
Làm cách nào để gửi HashMap
giá trị từ một Ý định đến Mục đích thứ hai?Cách gửi giá trị băm bản đồ đến một hoạt động khác bằng cách sử dụng mục đích
Ngoài ra, cách lấy giá trị HashMap
trong Hoạt động thứ hai?
Lớp HashMap của Java mở rộng giao diện Serializable
, giúp dễ dàng thêm nó vào mục đích, sử dụng phương thức Intent.putExtra(String, Serializable)
.
Trong hoạt động/dịch vụ thu/phát sóng mà nhận được ý định, bạn sau đó gọi Intent.getSerializableExtra(String)
với tên mà bạn sử dụng với putExtra.
Ví dụ, khi gửi ý:
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);
Và sau đó trong Hoạt động tiếp nhận:
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"));
}
Lưu ý rằng HashMaps serialize. Bản đồ, rõ ràng là không. –
Bản đồ là một giao diện - bạn không thể tuần tự hóa giao diện, chỉ thực hiện một giao diện cụ thể. Trong trường hợp này, Map không thực hiện/mở rộng giao diện Serializable, do đó, nó thực hiện cụ thể cho dù nó muốn thực hiện Serializable hay không. Và HashMap hiện thực hiện nó. – JesusFreke
Xin chào, tôi đang gửi một HashMap
Tôi hy vọng điều này phải làm việc quá.
trong hoạt động gửi
Intent intent = new Intent(Banks.this, Cards.class);
intent.putExtra("selectedBanksAndAllCards", (Serializable) selectedBanksAndAllCards);
startActivityForResult(intent, 50000);
trong hoạt động nhận
Intent intent = getIntent();
HashMap<String, ArrayList<String>> hashMap = (HashMap<String, ArrayList<String>>) intent.getSerializableExtra("selectedBanksAndAllCards");
khi tôi gửi một HashMap như sau,
Map<String,ArrayList<String>> selectedBanksAndAllCards = new HashMap<>();
Hy vọng nó sẽ hel p cho ai đó.
Xin chào, bạn đang gửi giá trị nào (int, string, double ..)? – naresh
hashmap. –
Piyush
có nghĩa là giá trị chuỗi tôi muốn gửi – Piyush