Поэтому я пытаюсь сделать так, чтобы, когда пользователь создает открытую игру в игровом лобби, его имя пользователя и кнопка «присоединиться» появлялись на экране лобби.Он работает прямо сейчас, но проблема в том, что он появляется только для пользователя, который создал игру, он не будет отображаться для любого другого пользователя, если только другой пользователь не создаст игру, тогда появятся обе открытые игры, но это не такобновлять в реальном времени.
У меня так, что когда пользователь создает игру, игра и некоторые относящиеся к игре переменные добавляются в базу данных в реальном времени.И сейчас у меня есть прослушиватель событий, показанный ниже, который проверяет, обновляется ли игровой узел, и когда он обновляется, он должен обновлять пользовательский интерфейс, но он делает это только для пользователя, который создал игру.
final RecyclerView recyclerView = findViewById(R.id.rvfcGames);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
final ArrayList<String> openGames = new ArrayList<>();
adapter = new MyRecyclerViewAdapter(this, openGames);
adapter.setClickListener(this);
recyclerView.setAdapter(adapter);
DatabaseReference cgRef = database.getReference("FCGames");
cgRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
openGames.add("username");
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
//removeGame();
}
});
Этот фрагмент работает, потому что всякий раз, когда пользователь создает игру, он добавляет ее в список, но я не уверен, как сделать так, чтобы он обновлял пользовательский интерфейс в реальном времени для каждого пользователя, использующего приложение.
Так, что я должен сделать, чтобы обновить экран каждого пользователя в реальном времени, когда они находятся в лобби?