2017-11-19 11 views
0

1. Ebene LinkedHashMapLesen von Daten aus verschachtelten LinkedHashMap

LinkedHashMap<String, LinkedHashMap<String, Integer>> level_1 = new LinkedHashMap<>(); 

2. Ebene linkedhashmap`

LinkedHashMap<String, Integer> level_2 = new LinkedHashMap<>(); 
    level_2.put("abcd", R.drawable.abcd); 

Methode put

level_1.put("ABCD", level_2); 

Jetzt muss ich Daten von oben Code

lesen
LinkedHashMap<String, LinkedHashMap<String, Integer>> abcd; 

Ich habe 2 Absichten - level_1 und LEVEL_2

abcd.get(level_1).get(level_2) 

diese

eine Warnung gibt

LinkedHashMap (String, Integer) kann keine Objekte vom Typ integer enthalten

Ich möchte lese die Werte für String und Integer getrennt, so dass ich textView und Imageview füllen kann.

Zusammengefasst

wie die ganze Zahl und stringfFrom innermap lesen) getrennt von

LinkedHashMap<String, LinkedHashMap<String, Integer>> 

Antwort

0

Adaequat:

LinkedHashMap<String, LinkedHashMap<String, Integer>> level_1 = new LinkedHashMap<>(); 
LinkedHashMap<String, Integer> level_2 = new LinkedHashMap<>(); 
level_2.put("l2", 2); 
level_1.put("l1", level_2); 
System.out.println(level_1.get("l1").get("l2")); 

Ihr Problem ist, dass, wenn Sie get() Methode aufrufen, sollten Sie tatsächlich Geben Sie als Argument den Schlüssel an, dem Sie Ihren Wert zugeordnet haben. In diesem Fall ist Ihr Schlüssel vom Typ String.

+0

Vielen Dank. Kann ich eine Ausgabe des Schlüssels und den Wert der inneren Karte nur mit dem Schlüssel der äußeren Karte erhalten? –

+0

@DharshanSiva Entschuldigung, ich kann Sie nicht verstehen, können Sie es mit den tatsächlichen Schlüsseln und Werten beschreiben? – JAAAY