我在onStart()
方法中遇到错误:
Cannot resolve symbol 'eventListener'
[我想我在尝试将this tutorial(应用程序显示邮件的接收者是否看到了邮件)从Firebase实时数据库转换为Firebase Firestore时可能犯了一些错误。
ListenerRegistration
的声明发生在onCreate()方法之前
ListenerRegistration listenerRegistration;
seenMessage()方法
private void seenMessage(final String recipientId){
EventListener<DocumentSnapshot> eventListener = new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot snapshot, @Nullable FirebaseFirestoreException e) {
if (snapshot != null && snapshot.exists()){
Chat chat = snapshot.toObject(Chat.class);
if (chat.getReceiver().equals(userId) && chat.getSender().equals(recipientId)){
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("isseen", true);
FirebaseFirestore.getInstance().collection("chats").document(roomId).collection("messages").add(hashMap);
}
}
}
};
}
onStart()方法
@Override
protected void onStart() {
super.onStart();
listenerRegistration = FirebaseFirestore.getInstance().collection("chats").document(roomId).collection("messages").addSnapshotListener(MessageActivity.this,eventListener);
}