Я разрабатываю приложение для обмена сообщениями с использованием Firebase.Я хочу, чтобы при обсуждении сообщения отображались по-разному.
Я поместил это в свой узел «Сообщения» в БД.
messageMap.put("from", mCurrentUserPhone);
Это метод onBindViewHolder в моем адаптере.
public void onBindViewHolder(@NonNull MessageViewHolder holder, int position) {
mAuth = FirebaseAuth.getInstance();
String user_phone = mAuth.getCurrentUser().getPhoneNumber();
Messages message = mMessagesList.get(position);
String from_user = message.getFrom();
if(from_user.equals(user_phone)){
isLoaded = true;
holder.messageText.setBackgroundResource(R.drawable.message_text_background_for_me);
}else{
isLoaded = false;
holder.messageText.setBackgroundResource(R.drawable.message_text_background);
}
holder.messageText.setText(message.getMessage());
}
Вот метод onCreateViewHolder
public MessageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
if (isLoaded){
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.message_main_layout_for_me, parent, false);
return new MessageViewHolder(view);
}else{
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.message_main_layout, parent, false);
return new MessageViewHolder(view);
}
}
Вот результат, полученный от моего телефона.
Белый фон - это когда от меня приходят сообщения, а серый фон - для другого пользователя.
Что я сделал не так, пожалуйста?