В настоящее время я работаю над чем-то, в чем я должен быть в состоянии получить детей нажатой клавиши из Firebase.Он должен получить дочернюю запись, такую как:
- Дата
- Тема
- Дополнительная информация
Каждый раз, когда я сохраняю запись, это также можно посмотреть в приложении.Ниже приведено дерево базы:
введите описание изображения здесь
Сохраненный снимок экрана с нажатой клавишей ввода представлен ниже:
введите описание изображенияздесь
Когда вы нажимаете на него, пользователь видит его так.
введите описание изображения здесь
Проблема в том, чтовсякий раз, когда по идентификатору щелкают, он просто получает последнюю запись, но не остальные, которые уже есть в Firebase.
Мой код указан ниже:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
mFirebasedatabase=FirebaseDatabase.getInstance().getReference().child("user").child(uid).child("dailyDiary");
id = mFirebasedatabase.getKey();
firebaseAuth = FirebaseAuth.getInstance();
user = FirebaseAuth.getInstance().getCurrentUser();
mFirebasedatabase.child(id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<String> list = new ArrayList<>();
for (DataSnapshot datasnap:dataSnapshot.getChildren()) {
UserDiary userDiary = datasnap.getValue(UserDiary.class);
String date = userDiary.getDate_time();
String info = userDiary.getMoreInfo();
String topic = userDiary.getTopic();
Log.d("TAG", date + " / " + topic + " / " + info);
list.add(date + topic + info);
}
ListView listView = (ListView) findViewById(R.id.list_diary);
ArrayAdapter arrayAdapter = new ArrayAdapter<String>(HomeThreeViewDiary.this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(arrayAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}