2017-06-08 8 views
0

この形式では、Firebaseにデータベースがあります。ディレクター、スポーツのような配列リストの形ですべての部署を表示する必要があります。FirebaseのノードのデータをAndroidのArray形式で取得する方法

Image

コード:

mAuth=FirebaseAuth.getInstance(); 
    mdatabase= FirebaseDatabase.getInstance().getReference().child("Department"); 
    mdatabase.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      List<String> Department = (ArrayList<String>) dataSnapshot.getValue(); 
      DepartmentLIST=Department.toArray(new String[Department.size()]); 

     } 
     @Override 
     public void onCancelled(DatabaseError databaseError) { 
      Toast.makeText(CheckUpdate.this,databaseError.getMessage(),Toast.LENGTH_LONG).show(); 
     } 

     }); 

    setListAdapter(new ArrayAdapter(this, 
      android.R.layout.simple_list_item_1,DepartmentLIST)); 
} 

これは私がそれを使用している私のコードです。しかし、それはNullValueを与える。

答えて

0

このコードを使用してください:

mdatabase = FirebaseDatabase.getInstance().getReference().child("Department"); 
mdatabase.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     List<String> departmentList = new ArrayList<>(); 
     for(DataSnapshot ds : dataSnapshot.getChildren()) { 
      String departmentName = (String) ds.getValue(); 
      departmentList.add(departmentName); 
     } 
     setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, departmentList)); 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) {} 
}); 

はそれがお役に立てば幸いです。

+0

このfirebase関連の質問にお答えください。https://stackoverflow.com/q/46556028/6144372 –

関連する問題