2017-03-09 16 views
0
public void retriveData(){ 
       databaseReference.addChildEventListener(new ChildEventListener() { 
        @Override 
        public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
         Log.e("Count " ,""+dataSnapshot.getChildrenCount()); 
         for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) { 
          Info post=new Info(); 
          Log.e("EEEERRRORRR", "onChildAdded: "+postSnapshot.toString()); 
          Info post=postSnapshot.getValue(Info.class); 
          Log.e("Get Data", post.getQuestion()); 
         } 
        } 

これは私が取得エラーですdataSnapshotと私のリストを取得傾けます。私はlog.eに正しいChildrenContを取得します。これをどうすれば解決できますか?より多くの参考のために、私はそのコンストラクタで文字列の引数を持つ単純なクラスがある私の情報クラスを貼り付けていますFirebaseデータベースは(カント変換オブジェクト)

public class Info { 
    public String answer,question,a,b,c,d; 


    public Info(String question,String answer,String a,String b,String c,String d){ 
     this.question=question; 
     this.a=a; 
     this.b=b; 
     this.c=c; 
     this.d=d; 
     this.answer=answer; 
    } 
    public Info(){ 

    } 
    public String getAnswer() { 
     return answer; 
    } 

    public void setAnswer(String answer) { 
     this.answer = answer; 
    } 

    public String getQuestion() { 
     return question; 
    } 

    public void setQuestion(String question) { 
     this.question = question; 
    } 

    public String getA() { 
     return a; 
    } 

    public void setA(String a) { 
     this.a = a; 
    } 

    public String getB() { 
     return b; 
    } 

    public void setB(String b) { 
     this.b = b; 
    } 

    public String getC() { 
     return c; 
    } 

    public void setC(String c) { 
     this.c = c; 
    } 

    public String getD() { 
     return d; 
    } 

    public void setD(String d) { 
     this.d = d; 
    } 


} 

答えて

0

あなたは

ClassName post = postSnapshot.getValue(); 

のように必要なクラスのdatasnapshotを使用してオブジェクトを作成する必要がありますし、あなたのクラスが含まれている必要があります同じ変数は、データベースにあるよう

元データベースは、2つの列の名前と年齢

、あなたのクラスべきコンタが含まれていますゲッター、セッター、コンストラクターを作成する必要があります。

このメソッドを使用してデータを取得すると、データ(質問)は変数に設定されています。

私はあなたのdatabaseReferenceが間違った場所を指していると思います。この for more info

+0

は、私はあなたが言うすべての事をしましたが、私はまだ私は、コードを更新し、情報クラス – Freshia

+0

を追加してい複数の基準について変換について同じエラーが出る見ます1つのノード(文字列)のみで構成されていれば、答え、質問、a、b、c、dからなる場所を指し、データベースに存在するノードに変数の大文字と小文字を正確に保持する必要があります。 –

+0

@Freshia、私はあなたの質問を編集し、あなたのFirebaseデータベース構造を(できるだけjson形式で)含むべきだと思います。 – koceeng

関連する問題