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