Я не знаю, почему у меня появляется это предупреждение:
W / Firestore: (21.3.1) [CustomClassMapper]: нет установщика / поля для lh
. найдено в классе com.example.model.Liturgia
Код для получения данных:
DocumentReference calRef = db.collection(CALENDAR_PATH).document(fechaYY).collection(fechaMM).document(fechaDD);
calRef.addSnapshotListener((calSnapshot, e) -> {
if ((calSnapshot != null) && calSnapshot.exists()) {
mLiturgia = calSnapshot.toObject(Liturgia.class);
DocumentReference dataRef = calSnapshot.getDocumentReference("lh.1");
// ...
Модель
public class Liturgia {
private Breviario lh;
//...
public Liturgia() {
}
@Exclude
public void getlh() {
}
@PropertyName("lh")
public void setLh(Breviario lh) {
this.lh = lh;
}
}
Документы
(A): calRef
.
Как видно из кода, сначала я прочитал этот документ:
(B): calSnapshot
.
А потом, во втором случае, я читаю другой документ, который упоминается в одном поле типа document
in (A) :
И я сопоставляю этот второй документ с Liturgia.class
.
Если я пытаюсь назвать метод как set lh()
или пытаюсь без @PropertyName("lh")
, предупреждение всегда отображается.
Код работает, как и ожидалось, но я не хочу видеть это предупреждение.
Я вижу этот ответ: W / Firestore: [CustomClassMapper]: нет установщика / поля для класса Android, но в моем случае, имя свойства и имя метод одинаков.