I want to create a chat app with android studio and when I want to display users in my app, app crashed and my code is below:
private void readChats()
{
mUsers = new ArrayList<>();
reference = FirebaseDatabase.getInstance().getReference("Users");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
{
mUsers.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren())
{
User user = snapshot.getValue(User.class);
for (String id : userList){
assert user != null;
if (user.getId().equals(id)) {
if (mUsers.size() != 0) {
for (User user1 : mUsers) {
if (!user.getId().equals(user1.getId())) {
mUsers.add(user);
}
}
}else {
mUsers.add(user);
}
}
}
}
userAdapter = new UserAdapter(getContext(), mUsers);
recyclerView.setAdapter(userAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError)
{
}
});
}
and my error is below:
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.next(ArrayList.java:831)
at com.example.mahdi.chatapp.Fragments.ChatsFragment$2.onDataChange(ChatsFragment.java:101)
and error from this line:
for (User user1 : mUsers)
I can't fix this error please help me: