Я пытаюсь использовать HashMap для передачи значений другому классу, но я не уверен, почему у меня такие странные результаты. Я сделал system.out.println и получил [{Latitude = 1.224119, имя пользователя = заем, долгота = 103.930041}], [{Latitude = 1.224119, имя пользователя = заем, долгота = 103.930041}] повторяемо, но это не должно быть так как у меня две разные координаты.Hashmap с Intent не работает
И когда я передаю его другому классу, он возвращает мне только одну координату, а не две.
Что-то случилось с моим кодом?
Получить координаты из БД и перейти к другому классу:
protected void onPostExecute(JSONObject json) {
ArrayList<HashMap<String, String>> list=new ArrayList<HashMap<String,String>>();
HashMap<String, String> h1=new HashMap<String, String>();
if (json != null) {
Toast.makeText(Borrower_AP.this, json.toString(),
Toast.LENGTH_LONG).show();
try {
dataJsonArr = json.getJSONArray("Posts");
for (int i = 0; i < dataJsonArr.length(); i++) {
JSONObject c = dataJsonArr.getJSONObject(i);
Longitude = c.getDouble("longitude");
Latitude = c.getDouble("latitude");
String s_lat = Latitude.toString();
String s_long = Longitude.toString();
h1.put("Latitude",s_lat);
h1.put("Longitude",s_long);
h1.put("username",username);
list.add(h1);
Intent i = new Intent(this, BorrowerMap.class);
i.putExtra("list", list);
System.out.print(list);
startActivity(i);
}
Получить значения из:
ArrayList<HashMap<String, String>> list=new ArrayList<HashMap<String,String>>();
list=(ArrayList<HashMap<String, String>>) getIntent().getExtras().get("list");
String Latitude=list.get(0).get("Latitude");
String Longitude=list.get(0).get("Longitude");
String s_lat = Latitude.toString();
String s_long = Longitude.toString();
System.out.println(Latitude);
System.out.println(Longitude);