2016-04-14 4 views
0

Ich habe eine Arraylist mit JSON-Werten. Ich möchte es in ein Array konvertieren, dann werde ich es an MapActivity senden. Ich habe viele Wege ausprobiert, aber ich habe versagt.haben arraylist wollen es in Array zu konvertieren Ich habe viel Weg verwendet, aber gescheitert

for (int i = 0; i < matchFixture.length(); i++) 
{ 
    JSONObject c = matchFixture.getJSONObject(i); 
    String matchId = c.getString(TAG_MATCHID); 
    Log.d("matchId", matchId); 

    // hashmap for single match 
    HashMap<String, String> matchFixture = new HashMap<String, String>(); 

    // adding each child node to HashMap key => value 
    matchFixture.put(TAG_MATCHID, matchId); 

    matchFixtureList.add(matchFixture); 

    //item=matchFixtureList.get(0).toString(); 
    String[] stockArr = matchFixtureList.toArray(new String[matchFixtureList.size()]); 
    stockArr = matchFixtureList.toArray(stockArr); 
    for(String s : stockArr) 
     System.out.println(s); 
} 
+1

Sie brauchen nicht 'stockArr = matchFixtureList.toArray (stockArr);' das passiert im 'toArray'-Aufruf darüber. – zgc7009

+0

Was genau ist das Problem, vor dem Sie stehen? –

Antwort

0

Sie versuchen, eine HashMap zu einem String Ihre Karte typisieren ist -

// hashmap for single match 
    HashMap<String, String> matchFixture = new HashMap<String, String>(); 
    // adding each child node to HashMap key => value 
    matchFixture.put(TAG_MATCHID, matchId); 

Und Sie hinzufügen matchFixture (die eine Karte ist) zu einem ArrayList (die eine Liste von HashMaps sein sollte)

matchFixtureList.add(matchFixture); 

Nun, wenn Sie matchFixtureList in ein Array konvertieren möchten, dann sollten Sie wie folgt tun -

HashMap<String,String>[] stockArr = new HashMap[matchFixtureList.size()]; 
    stockArr = matchFixtureList.toArray(stockArr); 
    for(HashMap<String,String> map : stockArr) 
     for(Map.Entry<String,String> entry : map.entrySet()){ 
      Log.d("debug", entry.getKey() + ","+ entry.getValue()); 
     } 
+0

kann ich diese Werte an Mapacitity senden diese sind im Grunde Breitengrade –

+0

Sie können tun, was auch immer Sie mit diesen Werten tun möchten. –

+0

sir Ich möchte diese Werte als einfaches Array senden, das ich als Längen- und Breitengrad setzen kann. . ist es möglich –

0

ändern folgende Zeilen

String[] stockArr = matchFixtureList.toArray(new String[matchFixtureList.size()]); 
stockArr = matchFixtureList.toArray(stockArr); 

zu

String[] stockArr = new String[matchFixtureList.size()]; 
stockArr = matchFixtureList.toArray(stockArr); 

Der Fehler war, dass Sie eine Umstellung auf Array während der Initialisierung des Arrays wurden zu tun, die nicht benötigt wird.

Verwandte Themen