dataSnapshop.getValue () не получает все параметры объекта в ChildEventListener - PullRequest
0 голосов
/ 09 января 2019

У меня есть POJO, который, помимо прочего, имеет следующие параметры:

public class User implements Parcelable {
private String userType;
private String uid;
private String username;

private boolean userCompleted;

private String userInfo;

private boolean isLesbian;
private boolean isGay;
private boolean isBisexual;
private boolean isTransgender;

private boolean isLgbt;
private boolean isLgbtRelative;
private boolean isAllied;
private boolean isProfessional;

private boolean available_for_chat;
private boolean available_for_call;
private boolean available_for_video;
private boolean available_for_hangout;
private boolean available_for_hosting;

и их добытчики и установщики. Вначале у меня не было булевых параметров isGay, isLesbian, ..., isLgbt, isLgbtRelative, ..., только логические параметры available_for _..., и все работало нормально. Но я добавил эти другие параметры, но они не передаются корректно при использовании моего ChildEventListener (это только часть кода)

public void attachChildEventListener(){
    if (mChildEventListener == null){
        mChildEventListener = new ChildEventListener() {
            @Override
            public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
                User user = dataSnapshot.getValue(User.class);
                if(user.getUid() != null){
                    if (user.getUid().equals(mLoggedUserId)){
                        Log.d(TAG, "loggedUser == " + user.isGay());
                        mLoggedUser = user;
                        mLoggedUserId = mLoggedUser.getUid(); /.../

Пользователь в моей базе данных Firebase имеет следующий JSON:

enter image description here

но в Log.d(TAG, "loggedUser == " + user.isGay()); (и каждый раз, когда я пытаюсь получить эти данные) isGay и другие логические значения isXXXXX всегда устанавливаются как ложные. Что может быть причиной этого?

...