2016-05-11 10 views
1

Ich habe gerade einige Daten in einer ArrayList von HashMaps konfiguriert, die an eine andere Aktivität gesendet werden. Dort wird es entschlüsselt und die Werte werden dann in bestimmten Arrays gespeichert. Lassen Sie mich meinen Code zeigen, die ich in der ersten Aktivität konfiguriert:ArrayList Hash Map extrahieren und in Arraylist speichern

ArrayList<HashMap<String, String>> hashMapArrayList = new ArrayList<HashMap<String, String>>(); 
JSONArray jsonArray = new JSONArray(cena); 

for(int i=0; i<jsonArray.length(); i++) { 

    //ointer exception 
    jsonObject = jsonArray.getJSONObject(i); 

    pr = jsonObject.getString("price"); 
    cgN = jsonObject.getString("categoryName"); 
    pN = jsonObject.getString("productName"); 
    cN = jsonObject.getString("catalogName"); 

    HashMap<String, String> hashMap = new HashMap<String, String>(); 
    hashMap.put("Price", pr); 
    hashMap.put("CategoryName", cgN); 
    hashMap.put("ProductName", pN); 
    hashMap.put("CatalogName", cN); 

    hashMapArrayList.add(hashMap); 

    Intent intent = new Intent(Login.this, Checkout.class); 
    //I took bundle but type convention error was coming 
    intent.putExtra("arrayhash", hashMapArrayList); 
    startActivity(intent); 
} 

in der 2. Aktivität Jetzt

ArrayList<HashMap<String, String>> hashMapArrayList2 = 
    (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("arrayhash"); 

// Now here I am confused with extracting and also after extracting storing it like this: 

/*String price[]; 
    String categoryName[]; 
    String productName[]; 
    String catalogName[];*/ 

Ein großer Dank, sehr geschätzt.

Antwort

1
String[] price = new String[hashMapArrayList2.size()]; 
String[] categoryName = new String[hashMapArrayList2.size()]; 
String[] productName = new String[hashMapArrayList2.size()]; 
String[] catalogName = new String[hashMapArrayList2.size()]; 

int i=0; 
for (Map<String, String> item : hashMapArrayList2) { 
    price[i] = item.get("Price"); 
    categoryName[i] = item.get("CategoryName"); 
    productName[i] = item.get("ProductName"); 
    catalogName[i] = item.get("CatalogName"); 
    i++; 
} 
+0

jetzt zum testen, also zuerst muss ich iterieren und dann speichern !! OK? – notTdar

+0

rechts. hashmap gibt keine direkte Methode zum Konvertieren von Schlüsselwertpaaren in Array. –

+0

half es, das fühlte sich komplett an. Danke für die blitzschnelle Antwort. – notTdar