onDataChange() method not working even though everything is setup correctly (the model class , DB connection and adapter)

Viewed 41

The Adapter is working perfectly for the fact that i have tested it with a manually created list , but when debugging the onDataChange() is never entered.

Here's where I attach the event listener :

//The initialized list to test the adapter:
list = new ArrayList<Worker>(Arrays.asList(
         new Worker("malik","076767676",true,
                 5,"city",4))

db.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        list.clear();

        for(DataSnapshot snapshot:dataSnapshot.getChildren()){
            Worker worker = snapshot.getValue(Worker.class);

            list.add(worker);
        }

                adapter.notifyDataSetChanged();
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
            }
        });

        adapter = new Worker_Adapter(context,list);
    }
}

dependencies :

dependencies {    
    implementation 'androidx.appcompat:appcompat:1.5.0'
    implementation 'com.google.android.material:material:1.6.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'com.google.firebase:firebase-database:20.0.6'
    implementation platform('com.google.firebase:firebase-bom:30.4.1')
    implementation 'com.google.firebase:firebase-analytics'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    implementation 'com.firebaseui:firebase-ui-database:8.0.1'

}

My database and model class look like the following :

{
  "Worker": {
    
    "worker1": {
      "Address": "",
      "Phone": "",
      "available": "",
      "name": "",
      "numbSM": "",
      "rating": ""
    }
  }

}

Model class:

public class Worker {

public String Address;
public String Phone;
public boolean available;
public String name;
public int numbSM;
public int rating;

}

Logcat content :
Verification of void com.google.firebase.database.tubesock.WebSocket.pong(byte[]) took 203.271ms

Verification of void com.google.firebase.database.tubesock.WebSocket$1. () took 225.238ms

Verification of void com.google.firebase.database.connection.WebsocketConnection$WSClientTubesoc k.onOpen()

Suspending all threads took: 9.564ms

Verification of java.util.Comparator com.google.firebase.database.core.view.EventGenerator.changeComparator()

Suspending all threads

0 Answers
Related