Android 当实时数据库(firebase)应用程序中的数据发生更改时崩溃

Android 当实时数据库(firebase)应用程序中的数据发生更改时崩溃,android,firebase-realtime-database,Android,Firebase Realtime Database,这不仅仅与这些数据有关,错误与这些数据相同 当我将其他设备的数据保存到数据库中时,firebase应用程序崩溃,数据被检索并设置到其他设备的循环视图中 onDataChange是实时的,当数据发生更改时,会自动调用它 通知类 public class Notifications { private String Name; private String Email; private String Message; private String Time;

这不仅仅与这些数据有关,错误与这些数据相同 当我将其他设备的数据保存到数据库中时,firebase应用程序崩溃,数据被检索并设置到其他设备的循环视图中

onDataChange是实时的,当数据发生更改时,会自动调用它 通知类



public class Notifications {
    private String Name;
    private String Email;
    private String Message;
    private String Time;
    private String Date;

    public Notifications() {

    }

    public Notifications(String Name, String Email, String Message, String Time, String Date) {
        this.Name = Name;
        this.Email = Email;
        this.Message = Message;
        this.Time = Time;
        this.Date = Date;
    }

    public String getName() {
        return Name;
    }

    public String getEmail() {
        return Email;
    }

    public String getMessage() {
        return Message;
    }

    public String getTime() {
        return Time;
    }

    public String getDate() {
        return Date;
    }
}
显示此错误

com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.Boolean to type com.example.simpleapplocker.Notifications
排队

 notificationList.add(notifications);
“启动后”检索该数据并显示在“循环”视图中 这意味着数据存在或可能创建了通知,但其他数据未上载,此函数称为maybe

Notifications notifications = userSnapshot.getValue(Notifications.class);
在这一行中,您将看到一个错误,即布尔对象无法转换为通知。如果已将该子级的值设置为true或false(不带双引号),则可能会出现这种情况。再次查看,并尝试在要设置为子值的true或false周围添加双引号。

尝试此方法,它对我有效


然后它将如何获取存在于该方法中的所有通知的数据,并让我知道它是否有效。此方法仅在应用程序启动时调用。请添加您的数据库结构,并请响应我刚才添加的图像,您可以选中Use Firebase Recycleradapter@MuhammadOwaisChaudharysir首先检查通知模型类属性数据类型。并检查您的数据更改响应。根据您的请求,我现在会要求您将数据库结构添加为JSON文件或至少作为屏幕截图。请同时回复@AlexMamo@AlexMamo感谢来到这里,我刚刚在这里添加了图像,实际上,当任何通知子项发生更改时,它工作正常,但当添加新的子项时,它会崩溃。还有一个函数setOnAddChildren,但它不会检索所有子项notifications@HasnainSabir我刚刚用你们的图片更新了这个问题可以看看有没有布尔值value@MuhammadOwaisChaudhary还请添加通知类的内容。
Notifications notifications = userSnapshot.getValue(Notifications.class);
FirebaseDatabase database = FirebaseDatabase.getInstance();
                DatabaseReference myRef = database.getReference("Notification");
                myRef.addChildEventListener(new ChildEventListener() {
                    @Override
                    public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
                        if(dataSnapshot.exist()) {
        Notifications notifications = userSnapshot.getValue(Notifications.class);
        
                                notificationList.add(notifications);
        
                            }
                            Collections.reverse(notificationList);
                            mAdapter = new 
      Adapter_Notification(notificationList);
                            mRecyclerView.addItemDecoration(new DividerItemDecoration(getContext(), LinearLayoutManager.VERTICAL));
        
                            mRecyclerView.setAdapter(mAdapter);
     
                    }
        
                    @Override
                    public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
        
                    }
        
                    @Override
                    public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
        
                    }
        
                    @Override
                    public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
        
                    }
        
                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {
        
                    }
                });