2017-12-29 54 views
0

私はAndroid StudioFirebaseを使って開発した私のアプリに問題があります。 firebaseからデータを取得し、それをfirebaseの別のデータと比較してリストビューに表示したいとします。 私が望むデータは、フォローイメージの文字列です。firebaseに複数のノードを取得

image of firebase

ここでの問題は、私はいけないは、データベースから複数の文字列を取得する方法を知っている、です。

これは私がしようとしていたコードです:

public class testActivity extends AppCompatActivity { 

private DatabaseReference applydatabase; 

String app; 
String applied; 

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

    app = getIntent().getExtras().getString("id"); 

    applydatabase = FirebaseDatabase.getInstance().getReference().child("Apply").child(app).child("Applyid"); 
    applydatabase.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      applied = dataSnapshot.getValue().toString(); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 


    } 
} 

答えて

0

あなたがそれらの上に子ノードとループを取得するためにDataSnapshot.getChildren()を使用することができます。

applydatabase = FirebaseDatabase.getInstance().getReference().child("Apply").child(app).child("Applyid"); 
applydatabase.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     String first = null, second = null; 
     for (DataSnapshot child: dataSnapshot.getChildren()) { 
      if (first == null) { 
       first = child.getValue(String.class); 
      } else if (second == null) 
       second = child.getValue(String.class); 
      } 
     } 
     // TODO: compare first and second 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     throw databaseError.toException(); // don't ignore errors 
    } 
}); 
+0

Ok..iはこれを後で試します。しかし、applyid.isの下に追加するデータがまだある場合はどうすればよいですか?このソリューションはまだ有効ですか?そして、私は別の方法のためにfirebaseから得たデータを使用する必要があります。 –

関連する問題