, пытаясь вытащить всех пользователей из моей базы данных Firebase, а затем отобразить их в моем приложении, я получаю сообщение об ошибке
No setter/field for id found on class com.example.chatappfirebase.Model.User
, но мои методы получения и установки класса пользователя создаются из android studio
мой код класса пользователя:
package com.example.chatappfirebase.Model;
public class User {
private String userId;
private String username;
private String ImageURL;
public User(String userId, String username, String imageURL) {
this.userId = userId;
this.username = username;
ImageURL = imageURL;
}
public User() {
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getImageURL() {
return ImageURL;
}
public void setImageURL(String imageURL) {
ImageURL = imageURL;
}
}
, когда я пытаюсь извлечь список пользователей из базы данных
final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
users.clear();
for(DataSnapshot snapshot: dataSnapshot.getChildren()) {
User user = snapshot.getValue(User.class);
assert user != null;
assert firebaseUser != null;
if (!user.getUserId().equals(firebaseUser.getUid())) {
users.add(user);
}
}
userAdapter = new UserAdapter(getContext(), users);
recyclerView.setAdapter(userAdapter);
}
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
at com.example.chatappfirebase.Fragments.UsersFragment$1.onDataChange(UsersFragment.java:65)
это строка кода:
if (!user.getUserId().equals(firebaseUser.getUid())) {}