特定のFirebaseDatabase
参照からデータを取得していて、ArrayList<String>
に追加しようとしていますが、次々と追加されていないので、何か不思議です。どこかonCreate()
でFirebaseDatabaseリファレンスのすべてのデータがArrayListに追加されないのはなぜですか?<String>?
:
pA = new ArrayList<>();
は、ここに私のコードです:
aRef.child(reID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
Map<String, String> map = (Map<String, String>) childSnapshot.getValue();
if (pA != null){
pA.clear();
}
pA.add(map.get("pA"));
Log.d("pA", String.valueOf(pA));
}
} else {
Toast.makeText(getBaseContext(), "no data available yet", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
は、ここでデータ構造です:
-app
-child
-reID
-uniqueID1
-userID1
-key: value
-key: value
-pA: value1
-uniqueID2
-userID2
-key: value
-key: value
-pA: value2
-uniqueID3
-userID3
-key: value
-key: value
-pA: value3
は、ここでログアウトばかりものです:
D/pA: [value1]
D/pA: [value2]
D/pA: [value3]
私はif (pA != null) {pA.clear();}
を削除しようとしたが、その後私は、このログを得た:
D/pA: [value1, value1, value2, value1, value2, value3]
私はこれで欲しい:
D/pA: [value1, value2, value3]
私はここで間違っている何が起こっているのか教えてください、どのように私はでき与えられた結果を達成するか?
コードの配列リストはどこですか?そしてpAは何ですか? –
@MrunalAhirrao 'pA'はarraylistです。更新された質問をご覧ください。 –
@ cricket_007この問題で助けてください –