4

私はjsonフィードからの配列を持っていますが、jArrayには1つのリーグがあることを知っていますが、後日フィードに1秒が追加された場合に備えて、その配列の数を計算する必要があります。現在、log catは「teamFeedStructure」をログアウトしていません。誰かが私が間違っていることを知っているか、配列の長さをインテントで使用できる文字列に正しく変換する方法を知っていますか?

ここにコードがあります

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);  
      }
}
4

3 に答える 3

2

なぜここで繰り返す必要があるのですか?

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

于 2012-04-22T07:30:11.027 に答える
0

次の行を追加します

 teamFeedStructure = "greater two";

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

2つ以上のメッセージが表示された場合は、配列の長さが2を超えていることを意味します。

于 2012-04-22T07:32:08.493 に答える
0

助けてくれてありがとう、私はフィードに一歩踏み込みすぎたことを発見しました。これが、Logcat で何も得られなかった理由です。今は問題なくカウントされています。

于 2012-04-23T08:24:09.950 に答える