1

私の質問は次のようなものでした: https://stackoverflow.com/questions/20919343/php-getting-count-of-how-many-x-and-y-in-a-row-then-getting-other-data-の-x-and

しかし、その後、Android Part から仕事をすることを考えました。だから私はPHPから生成された2つのJSONObjectsを持っています. 最初のオブジェクトには「値」と「合計」の配列があります。2 つ目は、"name"、"surname"、"number" と、さらにいくつかの配列です。次に、2 番目の JSONObject の数値と最初の値を比較する必要があります。いくつかのループを試しましたが、予想どおり double が作成されます。これが私の onPostExecute メソッドです:

protected void onPostExecute(Void result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);
         pDialog.dismiss();
         try {
             JSONObject jsonObj = new JSONObject(jsonStr);
             JSONObject jsonObj2 = new JSONObject(jsonStr);

             // Getting JSON Array node
             sonuc = jsonObj.getJSONArray(TAG_BASLIK);

             // looping through All Contacts
             for (int i = 0; i < sonuc.length(); i++) {
                 JSONObject c = sonuc.getJSONObject(i);

                  AdayNumara = c.getString(TAG_OY);
                  ToplamOy = c.getString(TAG_TOPLAM);

                 Log.i("Aday Numaraları", AdayNumara);
                 Log.i("Oy Sayısı", ToplamOy);



                 pie.addItem(AdayNumara,Float.valueOf(ToplamOy), pRenk.get(i));

                 adaylar = jsonObj2.getJSONArray(TAG_ADAYLAR);
                for(int j=0; j< adaylar.length(); j++){

                    JSONObject c2 = adaylar.getJSONObject(j);

                    String no = c2.getString(TAG_NO);
                    String ad = c2.getString(TAG_AD);
                    String soyad = c2.getString(TAG_SOYAD);
                    String resim = c2.getString(TAG_RESIM);



                    HashMap<String, String> aday = new HashMap<String, String>();

                    do{
                    aday.put(TAG_AD, ad);
                    aday.put(TAG_SOYAD, soyad);
                    aday.put(TAG_RESIM, resim);
                    aday.put(TAG_NO, no);
                    aday.put(TAG_TOPLAM, ToplamOy);

                    adayList.add(aday);} while(AdayNumara == no);
                    }

                     adapter=new LazyAdapter2(SecimSonuclari.this, adayList);        
                     lv.setAdapter(adapter);
              }



          }catch (JSONException e) {
             e.printStackTrace();
         }


         }

私はAndroidが初めてなので、コードにはおそらく間違ったアプローチがあります。

私が今得ているのは、リストビューの価値です。最初の 2 つは、数直線上で 1 と 1 のように同じ値になります。2 番目のカップルには別の番号があり、2 としましょう。

4

3 に答える 3

1

問題が見つかりました。「==」の使用は間違っているようです。

if(AdayNumara.equals(no)){
                        aday.put(TAG_AD, ad);
                        aday.put(TAG_SOYAD, soyad);
                        aday.put(TAG_RESIM, resim);
                        aday.put(TAG_NO, no);
                        aday.put(TAG_TOPLAM, ToplamOy);

                        adayList.add(aday);

                    }
于 2014-01-05T15:23:03.783 に答える