I am calling a function which further fetches data from firebase DB.
Starting call:
List<DataObj> dataObjList = FireBaseHandler.getInstance().getDataFromServer(context, _id);
getDataFromServer():
{
.
.
.
localDatabaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot dataItemSnapshot: dataSnapshot.getChildren()) {
DataItem dataItem = dataItemSnapshot.getValue(DataItem.class);
if (dataItem != null && dataItem.get_id() != -1) {
dataItemList.add(dataItem);
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
return dataItemList;
}
But before I get data from Firebase, this function returns a list of empty objects. How to handle this case?