我想sender_uid在下图中获取值:
这是我下面的代码。我没有得到任何价值,我不知道为什么。有人可以解释代码有什么问题吗?谢谢!
编辑:我只想要每个父母的最后一个 sender_uid - 例如:
对于节点,
391rfBEXjVUplEW8aoahMtluSmz1_6dTv7oHnWOh55XzRuf9ouZFZkGt2
我只需要来自LJxvDjdetWz1 -DAFVCy 的 sender_uid ,而不需要来自LJxvA65WA7MX8aaX5nF 的sender_uid。mDatabase.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { List<UsersListGetter> usersList = new ArrayList<>(); recyclerView.setAdapter(new UsersListAdapter(usersList, getApplicationContext())); recyclerView.setAdapter(new UsersListAdapter(null, getApplicationContext())); for (DataSnapshot ch : dataSnapshot.getChildren()) { String senderReceiver[] = ch.getKey().split("_"); if (senderReceiver[0].equals(mAuth.getUid()) || senderReceiver[1].equals(mAuth.getUid())) { Query lastQuery = mDatabase.child(ch.getKey()).orderByKey().limitToLast(1); lastQuery.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { String message = dataSnapshot.child("message_body").getValue().toString(); Log.d("MSG", message); } @Override public void onCancelled(DatabaseError databaseError) { //Handle possible errors. } }); } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } });
