2017-04-19 11 views
0

enter image description hereFirebase表示データ

私は(ユーザー:....)表示したいをしかし、私は、ユーザーへのパスがわかりません。 listviewでUser showを選択する方法。あなたは(すべて)とMember.classのITモデルショーLISTUSER(プライベート文字列キー、ユーザー)のセットのために、取得キーユーザー

+0

Member.javaクラスを投稿できますか? – wnieves19

+0

OK!仲間編集が助けてくれてありがとう! @ wnieves19 – ThLez

答えて

0

:私のコードを見て、表のユーザを選択する方法

public class ListUserRoom extends AppCompatActivity { 

    private ListView listView; 

    List<Member> members = new ArrayList<>(); 

    private DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference(); 

    private String keyOfRoom = ""; 

    private String keyOfMember = ""; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_list_user_room); 

     createListUser(); 

    } 

    private void createListUser() { 

     listView = (ListView)findViewById(R.id.listView); 
     listView.setAdapter(new ListUserRoom.ImageAdapter(this)); 

     Intent getData = getIntent(); 
     if(getData != null){ 
      keyOfRoom = getData.getExtras().getString("key" , ""); 
     } 
     getData = getIntent(); 
     if(getData != null){ 
      keyOfMember = getData.getExtras().getString("keymember" , ""); 
     } 
     mDatabase = FirebaseDatabase.getInstance().getReference() 
       .child("AllRoom").child(keyOfRoom) 
       .child("Member").child(keyOfMember) 
       .child("User"); 

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

       Set<String> set = new HashSet<String>(); 
       Iterator i = dataSnapshot.getChildren().iterator(); 
       dataSnapshot.getValue(); 


       while (i.hasNext()){ 
        DataSnapshot data = (DataSnapshot)i.next(); 
        Member member = data.getValue(Member.class); 
        member.setKey(data.getKey()); 
        members.add(member); 
       } 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
    } 

を助けてくださいAllRoom表の後に、データベースの参照中に子キーが欠落している

mDatabase = FirebaseDatabase.getInstance().getReference() 
      .child("AllRoom") 
      .child(missingKey)//You need to add a key here to be able to access Member 
      .child("Member"); 

あなたは、ここで私はすでにあなたの問題に適応作業しているコードだことを解決した後

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

      for (DataSnapshot snapshot : dataSnapshot.getChildren()){ 
       Member member = data.getValue(Member.class); 
       member.setKey(data.getKey()); 
       Members.add(member); 
      } 

     } 

希望します。

+0

これはうまくいきません。質問を見て、もう一度私を助けることができますか?ご協力ありがとうございます – ThLez

関連する問題