我为myChats创建了recylcerview。在此Recyclerview中,我可以看到一个拇指,最后一条消息和名称。如果我发送或接收新消息,则该项目应转到第一个位置,例如在whatsapp中。为接收新消息,我创建了以下方法:
private void getLastMSG(final String userId, final TextView lastMSG){
String userid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users").child(userid).child("connections").child("matches").child(userId);
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
String lastMsg = dataSnapshot.child("lastMsg").getValue().toString();
lastMSG.setText(lastMsg);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
现在我想将此项目设置为第一个位置,但我不知道如何
答案 0 :(得分:0)
您需要致电:
notifyItemMoved(oldPos, newPos)
在您的recyclerview
适配器中。
请注意,您需要在此之前更新数据模型,以便在onBindViewHolder
方法中绑定正确的视图。