Firebase возвращает ноль, но данные существуют - PullRequest
0 голосов
/ 10 сентября 2018

Я часами искал причину, по которой мой код не извлекает поле "firstName" из этой структуры X: /

Firebase structure

Когда я нахожусь в отладке, я вижу, что Firebase извлекает все остальные поля на том же уровне, что и «firstName», но это последнее всегда пусто, даже если в нем есть действительные данные.

Debugged object

Это строка, где я создаю FirestoreRecyclerOptions:

FirestoreRecyclerOptions<X> optionsFirestore = new FirestoreRecyclerOptions.Builder<X>().setQuery(queryFirestore, X.class).build();

Я новичок в Android и буду признателен за любую помощь / объяснение.

Заранее благодарю за помощь!

EDIT:

Вот мой запрос: Магазин огня:

queryFirestore = FirebaseFirestore.getInstance().collection("idea").whereEqualTo("uid", currentUser.getUid());

И класс X - это POJO, содержащий структуру данных:

public class X {

public String uid;
public String avatar;
public String firstName;
public String lastName;
public Integer age;
public String title;
public String category;
public String location;
public String comment;

public X() {
}

public X(String uid, String avatar, String firstName, String lastName, Integer age, String title, String category, String location, String comment) {
    this.uid = uid;
    this.avatar = avatar;
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
    this.title = title;
    this.category = category;
    this.location = location;
    this.comment = comment;
}

public String getUid() {
    return uid;
}

public void setUid(String uid) {
    this.uid = uid;
}

public String getAvatar() {
    return avatar;
}

public void setAvatar(String avatar) {
    this.avatar = avatar;
}

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public Integer getAge() {
    return age;
}

public void setAge(Integer age) {
    this.age = age;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getCategory() {
    return category;
}

public void setCategory(String category) {
    this.category = category;
}

public String getLocation() {
    return location;
}

public void setLocation(String location) {
    this.location = location;
}

public String getComment() {
    return comment;
}

public void setComment(String comment) {
    this.comment = comment;
}
}

1 Ответ

0 голосов
/ 10 сентября 2018

Проблема в setFirstName():

public void setFirstName(String firstName) {
    firstName = firstName;
}

Попробуйте изменить его на:

public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

Вот почему ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...