public class AllUsersActivity extends AppCompatActivity {
private Toolbar mToolbar;
private RecyclerView mUserRecycler;
private DatabaseReference mAllUsersDatabase;
private DatabaseReference mUserRef;
private FirebaseAuth mAuth;
private FirebaseUser mCurrentUser;
private ArrayList<Users> users_list = new ArrayList<>();
private Users users;
private AllUsersAdapter mAllUsersAdapter;
private LinearLayoutManager linearLayoutManager;
String TAG = " ALL USERS ";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_all_users);
Log.i("ON CREATE METHOD", "ALL USERS");
mToolbar = (Toolbar) findViewById(R.id.users_app_bar);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("All Users");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mAuth = FirebaseAuth.getInstance();
mCurrentUser = mAuth.getCurrentUser();
mUserRef = FirebaseDatabase.getInstance().getReference().child("Users").child(mAuth.getCurrentUser().getUid());
mAllUsersDatabase = FirebaseDatabase.getInstance().getReference().child("Users");
mAllUsersDatabase.keepSynced(true);
linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setStackFromEnd(true);
mAllUsersAdapter = new AllUsersAdapter(users_list);
mUserRecycler = (RecyclerView) findViewById(R.id.allusers_recycler_view);
mUserRecycler.setHasFixedSize(true);
mUserRecycler.setLayoutManager(linearLayoutManager);
mUserRecycler.setAdapter(mAllUsersAdapter);
}
@Override
protected void onStart() {
super.onStart();
Log.i("ON START METHOD", "ALL USERS");
}
@Override
protected void onPostResume() {
super.onPostResume();
Log.i("ON RESUME METHOD", "ALL USERS");
Get_USER();
mUserRecycler.setAdapter(mAllUsersAdapter);
}
public void Get_USER() {
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String name = ds.child("name").getValue(String.class);
String thumb_image = ds.child("thumb_image").getValue(String.class);
//Log.i("TAG", name);
// Log.i("TAG", thumb_image);
users = new Users(name, thumbimage);
users_list.add(users);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
};
mAllUsersDatabase.addListenerForSingleValueEvent(eventListener);
}
}
Я могу получить результат из firebase, но когда я открываю мероприятие в первый раз, я получаю данные, как и ожидалось, на экране, но когда я нажимаю "вверх"кнопка навигации или кнопка «назад» и возвращайтесь к активности, тогда на экране ничего не загружается, пока я вижу данные в журналах.Также, когда я нажимаю кнопку домой и снова возвращаюсь, данные загружаются.Мой код в методе OnResume, но все еще не работает, как ожидалось.Я получаю список всех пользователей, зарегистрированных на Firebase