我实现了聊天,其中当前用户的消息在右侧,而其他用户的消息在左侧。一切工作正常,但是如果我向用户写了10条以上的消息,则消息气泡的一侧会随机变化(大部分从左到右)。如果我关闭了聊天活动,则返回原来的位置;如果我再次写消息,则他们又开始改变立场。
这是适配器的功能,在该适配器上,我决定将哪条消息放哪一条。 我有一个chatList,其中保存了所有消息框,而getCurrentUser是一个布尔值,如果消息框来自当前用户,则返回true,否则返回false。
感谢您的回答。
public void onBindViewHolder(ChatViewHolders holder, int position) {
holder.mMessage.setText(chatList.get(position).getMessage());
if(chatList.get(position).getCurrentUser()){
holder.mMessage.setBackgroundResource(R.drawable.button_bg_round);
holder.mMessage.setGravity(Gravity.END);
holder.mContainer.setGravity(Gravity.END);
holder.mMessage.setTextColor(Color.parseColor("#ffffff"));
}else {
holder.mMessage.setGravity(Gravity.START);
holder.mMessage.setTextColor(Color.parseColor("#000000"));
}
}