2016-04-14 5 views
0

У меня есть arraylist с значениями JSON. Я хочу преобразовать его в массив, а затем отправлю его в MapActivity. Я пробовал много способов, но я потерпел неудачу.имеют arraylist хотят преобразовать его в массив, я использовал много пути, но не удалось

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

Вам не нужен 'stockArr = matchFixtureList.toArray (stockArr);' это происходит в вызове 'toArray' над ним. – zgc7009

+0

В чем именно проблема, с которой вы столкнулись? –

ответ

0

Вы пытаетесь типаж в HashMap к String Вашей карты -

// 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); 

И вы добавляете matchFixture (который представляет собой карта) к ArrayList (который должен быть списком HashMaps)

matchFixtureList.add(matchFixture); 

Теперь, если вы хотите, чтобы преобразовать matchFixtureList в массив, то вы должны сделать, как это -

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

Могу ли я отправить эти значения в Mapaciticity, это в основном широты. –

+0

Вы можете делать все, что хотите, с этими значениями. –

+0

sir Я хочу отправить эти значения как простой массив, который я могу разместить как долготу и широту. , возможно ли это? –

0

Изменить следующие строки

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

в

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

ошибка была, что вы делаете преобразование в массив при инициализации массива, который не нужен.