I'm developing a messaging app using Firebase. I want the messages to be displayed differently when discussing.
I put this to my "Messages" node in DB.
messageMap.put("from", mCurrentUserPhone);
That is the onBindViewHolder method in my adapter.
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());
}
Here is the onCreateViewHolder method
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);
}
}
Here is the result that I have from my phone.
White background is when messages comes from me and gray background is for the other user.
What have I done wrong please?