因此,我有一个具有用户名的Viewholder,并在其下放置了该用户收到的最后一条消息,在我的查询中,我得到了数据库中的最后一个节点,其中有我的代码:
Query lastQuery = allDb.child("ReceivedMessages").child(mCurrent_user_id).child(list_user_id).orderByKey().limitToLast(1);
lastQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String message = dataSnapshot.child("message").getValue().toString();
friendViewHolder.lastMessage.setText(message);
}
@Override
public void onCancelled(DatabaseError databaseError) {
//Handle possible errors.
}
});
这是我的数据库结构(也我确定引用是正确的,因为每当我将所有数据分配给textView时,它都会给我最后一个节点以及消息和日期等..但是我只想要消息)
答案 0 :(得分:1)
我希望这能做得到。
Query lastQuery = allDb.child("ReceivedMessages").child(mCurrent_user_id).child(list_user_id).orderByKey().limitToLast(1);
lastQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds: dataSnaphot.getChildren()) {
String message = ds.child("message").getValue().toString();
friendViewHolder.lastMessage.setText(message);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
//Handle possible errors.
}
});