введите описание изображения здесь Я создал две таблицы
Пользователи, с полями
ID
имя пользователя
событие, с полями
event_name
event_date
автор
Я хотел бы отобразить имя автора на основе пользователей (имя пользователя)
Итак, я сохранил автора таблицы пользователей (id).
Если я изменю значение Users (имя пользователя), значение события (author)
будет меняться Спасибо
Я пытался добавить
User user = dataSnapshot.getValue(User.class);
event_author.setText(user.getUsername());
в mUserDatabase,
но textViewEventAuthor не отображал никаких слов.
public class EventList extends ArrayAdapter {
private Activity context;
private List<Event> eventList;
DatabaseReference mUserDatabase;
DatabaseReference databaseEvents;
public EventList(Activity context, List<Event> eventList) {
super(context, R.layout.event_list_view, eventList);
this.context = context;
this.eventList = eventList;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
databaseEvents = FirebaseDatabase.getInstance().getReference("events");
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.event_list_view,null, true);
TextView event_name = listViewItem.findViewById(R.id.textViewEventName);
TextView event_date = listViewItem.findViewById(R.id.textViewEventDate);
TextView event_author = listViewItem.findViewById(R.id.textViewEventAuthor);
Event event = eventList.get(position);
event_name.setText(event.getEvent_name());
event_date.setText(event.getEvent_date());
event_author.setText(event.getAuthor());
// ======================================================================//
mUserDatabase = FirebaseDatabase.getInstance().getReference().child("Users");
mUserDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
event_author.setText(user.getUsername());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
// ======================================================================//
return listViewItem;
}
}
Я ожидаю, что вывод
lunch
25-6-2019
Louis
Но теперь мой вывод
lunch
25-6-2019
dNcgMLa4vTb9Zin2LrCr8mGr8Vp1