首页 > 解决方案 > 聊天正常,但做了一些奇怪的事情

问题描述

我实现了一个聊天,当前用户的消息在右边,其他用户的消息在左边。一切正常,但如果我向用户写超过 +- 10 条消息,一些消息气泡会随机变化(主要是从左到右)。如果我关闭聊天活动并返回,他们会回到原来的位置,如果我再次写消息,他们会重新开始改变立场。

这是适配器的功能,我决定将哪个消息放在左侧和哪个右侧。我有一个聊天列表,其中保存了所有消息,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"));
        }

            }

标签: androidchatandroid-adapter

解决方案


推荐阅读