2016-04-14 29 views
0

我有一个与JSON值arraylist。我想将它转换为一个数组,然后我将它发送到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

您试图强制转换一个HashMapString 你的地图 -

// 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(这应该是包含HashMap的列表)

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

先生,我想发送这些值作为简单的数组,我可以把经度和纬度。 。有可能 –

0

更改以下行

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

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

错误是,你是这是没有必要的数组的初始化过程中做了转换阵列。

相关问题