Android Recylcerview以编程方式设置项目的位置

时间:2018-06-29 08:40:52

标签: java android

我为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) {

        }
    });
}

现在我想将此项目设置为第一个位置,但我不知道如何

1 个答案:

答案 0 :(得分:0)

您需要致电:

notifyItemMoved(oldPos, newPos)在您的recyclerview适配器中。 请注意,您需要在此之前更新数据模型,以便在onBindViewHolder方法中绑定正确的视图。

Referece to adapter documentation