2017-04-12 22 views
0

ここで間違いはありますか?私はすべての私の長い変数の値を0にします。Firebaseデータベースが子クラスを取得する長時間0をクラスに渡す

これは、コードが実際にうまく実行することを私のリスナー

public void onDataChange(DataSnapshot dataSnapshot) { 

      serviceList.clear(); 
      for (DataSnapshot dsp : dataSnapshot.getChildren()) { 
       serviceList.add(dsp.getValue(Service.class)); //add result into array list 

      } 

      serviceAdapter.notifyDataSetChanged(); 

     } 

で、私はデバッグするとき、私は、DSPオブジェクトは私が望むすべての値を持って見ることができます。それはその後、私のサービスクラスオブジェクトに渡され、ここではそれが構造体である:

public class Service { 

    private String durl; 
    private Boolean active; 
    private int poin; 
    private long priceShort; 
    private long priceMedium; 
    private long priceLong; 
    private long priceLongX; 
    private String name; 
    private String desc; 
    private String category; 


    public Service() { //default constructor 

    } 

    public Service(String name, String desc,String durl, Boolean active, String category, int poin, long priceShort, long priceMedium, long priceLong, long priceLongX) { 
     this.name = name; 
     this.desc = desc; 
     this.durl = durl; 
     this.active = active; 
     this.category = category; 
     this.priceShort = priceShort; 
     this.priceMedium = priceMedium; 
     this.priceLong = priceLong; 
     this.priceLongX = priceLongX; 
     this.poin = poin; 

    } 


    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getDesc() { 
     return desc; 
    } 

    public void setDesc(String desc) { 
     this.desc = desc; 
    } 

    public String getCategory() { 
     return category; 
    } 

    public void setCategory(String category) { 
     this.category = category; 
    } 

    public String getDurl() { 
     return durl; 
    } 

    public void setDurl(String durl) { 
     this.durl = durl; 
    } 

    public Boolean getActive() { 
     return active; 
    } 

    public void setActive(Boolean active) { 
     this.active = active; 
    } 

    public int getPoin() { 
     return poin; 
    } 

    public void setPoin(int poin) { 
     this.poin = poin; 
    } 

    public long getPriceShort() { 
     return priceShort; 
    } 

    public void setPriceShort(long priceShort) { 
     this.priceShort = priceShort; 
    } 

    public long getPriceMedium() { 
     return priceMedium; 
    } 

    public void setPriceMedium(long priceMedium) { 
     this.priceMedium = priceMedium; 
    } 

    public long getPriceLong() { 
     return priceLong; 
    } 

    public void setPriceLong(long priceLong) { 
     this.priceLong = priceLong; 
    } 

    public long getPriceLongX() { 
     return priceLongX; 
    } 

    public void setPriceLongX(long priceLongX) { 
     this.priceLongX = priceLongX; 
    } 


} 

serviceList配列に追加した後、私はpriceShort、priceMedium、priceLongのようにすべての私の長い変数を除いた値との良好なすべてのために、いくつかの配列オブジェクトをチェックしますそして、priceLongXは、すべて私がやった0

の値を持っています

  1. はI値が、そのすべて大丈夫ための再確認デシベル。

  2. 何度もアプリを再起動します。

EDIT/UPDATE:ここ は、サービスのための私のJSONです:

"ServicesPrice" : { 
    "sid1" : { 
     "category" : "Hair-do", 
     "desc" : "", 
     "name" : "Gunting", 
     "poin" : 15, 
     "priceLong" : 0, 
     "priceLongx" : 0, 
     "priceMedium" : 0, 
     "priceShort" : 100000 
    }, 
    "sid10" : { 
     "category" : "Hair-do", 
     "desc" : "", 
     "name" : "Coloring Matrix", 
     "poin" : 25, 
     "priceLong" : 525000, 
     "priceLongx" : 625000, 
     "priceMedium" : 450000, 
     "priceShort" : 375000 
    }, 
    "sid11" : { 
     "category" : "Body Treatment", 
     "desc" : "Pijat badan 60 menit", 
     "name" : "Body Massage", 
     "poin" : 15, 
     "priceLong" : 0, 
     "priceLongx" : 0, 
     "priceMedium" : 0, 
     "priceShort" : 125000 
    }, 
    "sid12" : { 
     "category" : "Body Treatment", 
     "desc" : "Massage+Lulur+Sauna+Berendam Rempah+Shampoo Loreal", 
     "name" : "Princess Spa", 
     "poin" : 25, 
     "priceLong" : 0, 
     "priceLongx" : 0, 
     "priceMedium" : 0, 
     "priceShort" : 350000 
    }, 
    "sid13" : { 
     "category" : "Body Treatment", 
     "desc" : "Lulur Susu + Body Bleaching", 
     "name" : "Complete Whitening Milk Spa", 
     "poin" : 30, 
     "priceLong" : 0, 
     "priceLongx" : 0, 
     "priceMedium" : 0, 
     "priceShort" : 500000 
    }, 

もう一度、私は十分に持っていないだけで、すべての価格

+0

firebaseデータベース構造のスクリーンショットを投稿してください。 –

+0

@PhanVanLinhスクリーンショットをお願いします。 JSONをテキストとして使用すると、再利用が可能になります。これは、[Firebaseデータベースコンソール](https://console.firebase.google.com/project/_/database/data)の[Export JSON]リンクをクリックすると表示されます。 –

+0

@FrankvanPuffelenありがとうございます。私は次回にそれを覚えています –

答えて

0

を除くすべての値を取得することができますコメントとして投稿する評判ちょうど確認するために、あなたはgraguleでproguardとminifyEnabledを使っていますか?私はあなたのコードをテストし、私はちょうど正しい価格を得た。

関連する問題