2017-05-09 15 views
2

私のデータベースからすべての値を取得したいと思います。しかし、問題は、すべての値を取得するためにデータベースの参照を正しくすることやdatasnapshotのforループを作成できないことです。結果は常にnullであり、エラーもありませんでした。私はすべての日付のノードの値を取得したいfirebaseデータベースの入れ子ノードからすべてのデータを取得する方法

 databaseReports.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      reportList.clear(); 

      for(DataSnapshot userSnapshot : dataSnapshot.getChildren()){ 
       Reports reports = userSnapshot.getValue(Reports.class); 
       reportList.add(reports); 
      } 
      ReportList adapter = new ReportList(ViewReports.this, reportList); 
      listViewReports.setAdapter(adapter); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 

Here is my database

: はここに私のコードです。 はここにこの農産物やので参照の空のリストを使用して、私のdatabaseReference

FirebaseDatabase.getInstance().getReference("REPORTS") 

です。

databaseReports = FirebaseDatabase.getInstance().getReference("REPORTS/05-10-2017"); 

しかし、この1つは唯一の2017年5月10日

下のデータを示して、私はあなたがこれを試すことがREPORTS.TIA

+0

これを試しましたか?http://stackoverflow.com/a/41503903/3678308 –

答えて

2

下のサブノードからすべてのデータを取得する助けてください...

databaseReports.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

      reportList.clear(); 

      for(DataSnapshot ymdSnapshot : dataSnapshot.getChildren()){ 

       Log.d("ymdSnapshot", ymdSnapshot.getKey().toString()); 

       for(DataSnapshot repSnapshot : ymdSnapshot.getChildren()){ 
        Reports reports = repSnapshot.getValue(Reports.class); 
        reportList.add(reports); 
       } 
      } 
      ReportList adapter = new ReportList(ViewReports.this, reportList); 
      listViewReports.setAdapter(adapter); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
} 

あなたはこれを試すことが...パートII

databaseReports.child("05-09-2017").addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

      reportList.clear(); 

      for(DataSnapshot repSnapshot : dataSnapshot.getChildren()){ 
        Reports reports = repSnapshot.getValue(Reports.class); 
        reportList.add(reports); 
      } 

      ReportList adapter = new ReportList(ViewReports.this, reportList); 
      listViewReports.setAdapter(adapter); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
} 
+0

3et、ありがとう、その仕事。助けてくれてありがとう。もう1つ、特定のymdノードだけを取得したいのですが? – DarknessNight

+0

エスト、それは何もない、あなたを大歓迎です。 – 3et

関連する問題