Чат работает, но делает некоторые странные вещи

#android #chat #android-adapter

#Android #Чат #android-адаптер

Вопрос:

Я внедрил чат, в котором сообщения текущего пользователя находятся справа, а сообщения других пользователей — слева. Все работает нормально, но если я пишу пользователю более — 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"));
        }

            }