2

請相信新的火力點,並想獲得該節點的名稱如下圖所示 My database structure如何檢索節點名稱和節點屬性在火力的Android

我有一個用戶節點下的一個節點課程和不同的課程代碼節點在課程節點下。我想要實現的是獲取所有課程代碼和課程名稱,並將其存儲在數組列表中,例如存儲課程代碼的數組列表以及另一個存儲課程名稱 下面的代碼就是我所做的

final ArrayList<String> test=new ArrayList<String>(); 
myFirebaseRef.child(uid).child("Course").child("CEESE001").addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

      for (DataSnapshot snapshot : dataSnapshot.getChildren()) { 
       courses ok=snapshot.getValue(courses.class); 
      test.add(ok.getCourseName()); 

      } 
adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, test); 

      // Here, set the data in ListView 
      list.setAdapter(adapter); 

     } 

上面的代碼是我高中試過,但我需要動態獲取課程代碼,而不是把靜態課程代碼請問我如何實現這一點。

+0

你想獲得所有的課程名稱和代碼? –

+0

是的,這是我想要的 –

+0

我發佈了一個答案 –

回答

2

試試這個

List<String> coursesNames=new ArrayList<String>(); 
    List<String> coursesCodes=new ArrayList<String>(); 
    DatabaseReference mDatabase= FirebaseDatabase.getInstance().getReference().child("users").child(uid).child("Course"); 
    mDatabase.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      for(DataSnapshot snap:dataSnapshot.getChildren()){ 
       coursesCodes.add(snap.getKey()); 
       coursesNames.add(snap.child("Course Details").child("courseName").getValue(String.class)); 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
+0

非常感謝它的工作 –

+0

真棒,請考慮標記答案是正確的,如果它幫助 –

相關問題