0

FirebaseRecycleAdapterを使用してFirebase RealtimeDatabaseからチャットデータを読み込みます。 私は双方向にメッセージを表示したいので、左のイメージは右のイメージと異なっています。Glide(またはPicasso)を搭載したFirebaseRecycleAdapterが画像を間違った場所に読み込みます

しかし、画像が画像のように間違って表示されることがあります。ここで

enter image description here

私のコードです:

mFirebaseAdapter = new FirebaseRecyclerAdapter<Message, MessageViewHolder>(
       Message.class, 
       R.layout.item_message_onetoone, 
       MessageViewHolder.class, 
       databaseReference.child(Constant.CHILD_CHATONETOONE).child(myUid).child(clientUid)) { 

      @Override 
      protected void populateViewHolder(MessageViewHolder viewHolder, Message message, int position) { 
       String senderUid= message.getSenderUid(); 

       LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(RecyclerView.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT); 
       lp.leftMargin= 10; 
       lp.rightMargin= 10; 

       viewHolder.messageTextView.setText(message.getMessage()); 
       if (senderUid.equals(myUid)){ 
        lp.gravity= Gravity.RIGHT; 
        viewHolder.linearLayout.setLayoutParams(lp); 

        Glide.with(OneToOneConversationActivity.this).load(myPhotoURL).into(viewHolder.messengerImageView); 
        viewHolder.messengerTextView.setText(myName); 

       } 
       else if(senderUid.equals(clientUid)){ 
        lp.gravity= Gravity.LEFT; 
        viewHolder.linearLayout.setLayoutParams(lp); 


        viewHolder.messengerTextView.setText(clientName); 

       } 

      } 
     }; 

MessageViewHolderクラス:

public static class MessageViewHolder extends RecyclerView.ViewHolder { 
     public TextView messageTextView; 
     public TextView messengerTextView; 
     public CircleImageView messengerImageView; 
     public LinearLayout linearLayout; 

     public MessageViewHolder(View v) { 
      super(v); 
      messageTextView = (TextView) itemView.findViewById(R.id.messageTextView); 
      messengerTextView = (TextView) itemView.findViewById(R.id.messengerTextView); 
      messengerImageView = (CircleImageView) itemView.findViewById(R.id.messengerImageView); 
      linearLayout= (LinearLayout) itemView.findViewById(R.id.llOneToOneChat); 
     } 
    } 

のLinearLayoutとtextViewsがCircleImageView exept正常に動作します。それは文脈のようです:OneToOneChatActivity.this私はコードを使用する:Glide.with(....)間違っているが、私は解決策を把握できません。 私はそれを仕事のプロパティにすることはできますか?

+0

elseの代わりにelseを試してください。 – elmontoya7

+0

@ elmontoya7変更はありません:( –

答えて

1

私の問題が見つかりました。問題

ので、この記事では、「他」の場合には、あなたがするImageViewのに透明色を設定することができます

  • 2つ: 2つのライブラリを使用して、これらのイメージを読み込むことができます。たとえば、GlideとPiccasoです。
関連する問題