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