2012-04-22 78 views
3

我有一个来自json feed的数组我知道在jArray中有一个联盟,但是我需要计算出数组的数量,之后会在以后添加到feed中。目前日志猫没有注销“teamFeedStructure”没有人知道我做错了什么或知道如何正确地将数组的长度变成一个字符串,我可以在意图使用?android JSONArray length

继承人的代码

JSONObject obj = new JSONObject(json); 
JSONObject objData = obj.getJSONObject("data");      
JSONArray jArray = objData.getJSONArray("structure"); 
//String leagues = jArray.toString(); 
//Log.v("myapp", "structure" + leagues); 
for (int i=0; i < jArray.length(); i++) {  
    JSONObject oneObject = jArray.getJSONObject(i); 
    leaguecountArray = oneObject.getJSONArray("league_id"); 
    for (int l=0; l < leaguecountArray.length(); l++) {  
     if (leaguecountArray.length() == 1) { 
      teamFeedStructure = "One"; 
     } 
     if (leaguecountArray.length() == 2) { 
       teamFeedStructure = "Two"; 
     } 
     Log.v("myapp", teamFeedStructure); 
     } 
} 

回答

1

为什么你需要在这里重复:

for (int l=0; l < leaguecountArray.length(); l++) 
{  
    if (leaguecountArray.length() == 1){ 

     teamFeedStructure = "One"; 
    } 
    if (leaguecountArray.length() == 2){ 

     teamFeedStructure = "Two"; 
    } 
    Log.v("myapp", teamFeedStructure); 
} 

没关系多少经过你这样做的结果仍然是一样的。

你也可以使用不是英文单词,但String持有你需要的数字。这样做:

teamFeedStructure = String.valueOf(leaguecountArray.length()); 

然后,值将变成"2"例如。在你的其他活动,你可以再次解析成整型这样的:int number = Integer.parseInt(teamFeedStructure);

+0

它没有注销任何东西我有标记设置正确只是困惑,为什么它不会记录它 – iamlukeyb 2012-04-22 08:09:34

+0

你确定你正在观察详细级别包括?如果你的数组是空的,也不会发生日志记录。记录数组的长度以确定它是否真的为空 – 2012-04-22 08:15:11

0

if (leaguecountArray.length() == 1){ 

如果你得到大两倍消息中添加以下行

teamFeedStructure = "greater two"; 

,意味着你的阵列长度超过两个。

0

感谢您的帮助每个人,我发现我已经走得太远了饲料,这就是为什么我没有得到任何东西在Logcat。现在它算好。

+0

如果这是解决问题的方法,则应使用问题旁边的标记将其标记为“接受”。如果你使用另外两张海报的答案中的一个解答它,你应该接受他们的答案。 – 2012-04-23 08:53:55