2017-04-05 4 views
-1

初心者にリストビューのAndroidにJSON配列の値を組み合わせて、このようなJSON配列で:は、ここでAndroidの中

[{"SITE_NAME":"JAKARTA","GROUP_LABEL":"FINANCE","COMPANY_ID":"DDT","COMPANY_NAME":"PT. DIADYANI TIMBER","LABEL":"Expenses Req. (EXP)/Pembayaran","TOTAL":1,"SITE_ID":"JKT"}, 

{"SITE_NAME":"JAKARTA","GROUP_LABEL":"FINANCE","COMPANY_ID":"SPT","COMPANY_NAME":"PT. SARMIENTO PARAKANTJA TIMBER","LABEL":"Expenses Req. (EXP)/Pembayaran","TOTAL":3,"SITE_ID":"JKT"}, 

{"SITE_NAME":"JAKARTA","GROUP_LABEL":"FINANCE","COMPANY_ID":"TBP","COMPANY_NAME":"PT. TELAGA BAKTI PERSADA","LABEL":"Expenses Req. (EXP)/Pembayaran","TOTAL":1,"SITE_ID":"JKT"}, 

{"SITE_NAME":"JAKARTA","GROUP_LABEL":"FINANCE","COMPANY_ID":"SPT","COMPANY_NAME":"PT. SARMIENTO PARAKANTJA TIMBER","LABEL":"Payment Req(AP/PO)/Rencana Pembayaran","TOTAL":1,"SITE_ID":"JKT"}] 

私は私のレイアウトでそれらを解析し、このようなリストビュー:

  • 画像リンク:1

行番号2および4を参照 COMPANY_NAMEと同じ名前があり、別のラベルが付いています

私はそれらを結合することができますので、結果はこのようになります私は何を聞きたい、

PT.SARMIENTO PARAKANTJA木材
経費必須。 (EXP)/ Pembayaran - JKT(3)
支払必須(AP/PO)/ Rencana Pembayaranを - JKT(1)

次に、リストビュー内の同じCOMPANY_NAMEと3行ではなく4が存在するであろう。

どうすればよいですか?初心者は助言が必要です。 更新:

try { 
      JSONArray jsonArray = new JSONArray(result); 

      for (int i = 0; i < jsonArray.length(); i++) { 
       JSONObject mJsonObjectProperty = jsonArray.getJSONObject(i); 
       String COMPANY_NAME = mJsonObjectProperty.getString("COMPANY_NAME"); 
       String TOTAL = mJsonObjectProperty.getString("TOTAL"); 
       String SITE_ID = mJsonObjectProperty.getString("SITE_ID"); 
       String LABEL = mJsonObjectProperty.getString("LABEL"); 
       listItem.add(new HomeDataList(COMPANY_NAME, LABEL, SITE_ID, TOTAL)); 
      } 
      homeDataAdapter.notifyDataSetChanged(); 

     } catch (JSONException e) { 
      Log.e("APP", "exception", e); 
     } 
+0

はい、ここでコードを解析することができます –

+0

@AbhishekSingh done、私はポストでそれを更新しました – FaisalTanjungDotCom

答えて

0

私が最初にここにHashMap使用することをお勧め:

これはこれは私の解析コードであるHomeDataList.class

public class HomeDataList { 

    public String COMPANY_NAME; 
    public String TOTAL; 
    public String SITE_ID; 
    public String LABEL; 

    public HomeDataList(String COMPANY_NAME, String LABEL, String SITE_ID, String TOTAL) 
    { 
     this.COMPANY_NAME = COMPANY_NAME; 
     this.TOTAL = TOTAL; 
     this.LABEL = LABEL; 
     this.SITE_ID = SITE_ID; 
    } 

} 

です。

ステップ1

使用会社名をキーとして

ステップ2

反復各レコードを通って、仕入先とのキーは、そのキーのオブジェクトに値を追加するよりも、存在している場合。そうでない場合はcomapnynameをキーとしてhashmapに新しいメンバーを追加します。

ステップ3

今、あなたはデータを持って、それぞれが独自に

ステップ4 あなたは

を望む形で今のモデルのArrayListのを持つことができCOMPANYNAMEのためにこれは、より多くの数を有していてもよいですあなたはデータをマージアップするためにループの数を通過する必要があります。

うまくいくと思います。

関連する問題