2017-02-21 18 views
0

自動生成された子(Estab_url子)を持つ複数の子を取得したい。ここに私のコードがあります。私が取得できるすべては、一人の子供とそのランダムです一意のIDをバイパスして複数の自動生成された子を取得する方法

Our Database Firebase

final DatabaseReference establishments = database.getReference("establishments"); 


    establishments.child(s2).child("Estab_url").addChildEventListener(new ChildEventListener() { 
      @Override 
      public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
       if (dataSnapshot.hasChildren()) { 
       // String value = dataSnapshot.getValue(String.class); 
        String sd = dataSnapshot.getKey(); 
        Name.setText(sd); 
       } 

      } 

      @Override 
      public void onChildChanged(DataSnapshot dataSnapshot, String s) { 

      } 

      @Override 
      public void onChildRemoved(DataSnapshot dataSnapshot) { 

      } 

      @Override 
      public void onChildMoved(DataSnapshot dataSnapshot, String s) { 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

答えて

0

あなたはそれぞれの子のためにURL値を読み出すために探している場合:それは「あなたのものではない場合

establishments.child(s2).child("Estab_url").addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
     String url = dataSnapshot.child("url").getValue(String.class); 
     Name.setText(url); 
    } 

あなたの質問を更新して問題を言い換えてください。

更新

リスト内のすべてのURLをキャッチしたい場合は、リスナーの外のリストを設定したいし、それが入って来て、それを各URLを追加します。

List<String> urls = new LinkedList<String>(); 
establishments.child(s2).child("Estab_url").addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
     String url = dataSnapshot.child("url").getValue(String.class); 
     urls.add(url); 
     // TODO: do something with the up-to-date list of URLs 
    } 

ただし、リストはリスナーの以外では使用できません。リストの最新の内容を必要とするコードは、(この場合は)onChildAddedから呼び出され/トリガーされる必要があります。

+0

子のURLの値を取得するにはどうすればよいですか? –

+0

これは私のコードとまったく同じです: 'url'プロパティの値を取得します。それを試しましたか?それはあなたのために何をするのですか? –

+0

これはまさに私が意味していたものです。しかし、私の問題は、私はURLの1つの価値を得ることができるということです、私はまた、最初の子供のURLの最初の値を取得したいと思います。 –

関連する問題