Я хочу знать, как получить значение другого класса в этом вызове onDataChange
в for
.Что при каждом вызове for
я выполняю вызов с данными «Тип объявления» и «IdAd».
Внутри for (DataSnapshot ds: dataSnapshot.getChildren ()) {
у каждого ребенка я бы хотел получить значение в классе Type Ad(DatabaseReference usersRef = rootRef.child("TypeAd"))
(отличается от класса вызова, который DatabaseReference usersRef = rootRef.child("Usuarios").child(IdUser).child("Chats");
)
получен при первом вызове. Большое спасибо за помощь
Моя активность:
private void ConversUsersData() {
RefreshList();//Resetea y no vuelve a printar
//set progres bar
showLoading.setVisibility(View.VISIBLE);
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("Usuarios").child(IdUser).child("Chats");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String key = ds.getKey();
String TypeAd = ds.child("TypeAd").getValue(String.class);
String IdAd = ds.child("IdAd").getValue(String.class);
String IdOtherUser = ds.child("IdOtherUser").getValue(String.class);
String nameOtherUser = ds.child("nameOtherUser").getValue(String.class);
String nameAd = ds.child("nameAd").getValue(String.class);
Boolean readBool = ds.child("read").getValue(boolean.class);
//Log.i(idadname, "onDataChange: ");
//crea modelo usuariochat
ConversChat userchat = new ConversChat(key, IdAd, IdOtherUser, TypeAd, "08-03-1987",nameAd ,nameOtherUser, readBool);
ConversChatsList.add(userchat);
}//posar el card view i adapter
if (!ConversChatsList.isEmpty()) {
usersList.setVisibility(View.VISIBLE);
MyChats_Adapter adapter = new MyChats_Adapter(getActivity(), R.layout.adapter_chatlist, ConversChatsList);
usersList.setAdapter(adapter);
//usersList.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, ConversChatsList));
} else {
usersList.setVisibility(View.GONE);
no_chat.setVisibility(View.VISIBLE);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
usersRef.addListenerForSingleValueEvent(eventListener);
showLoading.setVisibility(View.INVISIBLE);
}