#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"));
}
}