Advertisement
joris

MessageAdapterCustom

Aug 5th, 2017
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.80 KB | None | 0 0
  1. public class MessageAdapterCustom extends RecyclerView.Adapter<MessageAdapterCustom.MessageViewHolder> {
  2.  
  3.     private List<Messages> mMessageList;
  4.     private Context context;
  5.  
  6.     public MessageAdapterCustom(Context context, List<Messages> mMessageList) {
  7.         this.context = context;
  8.         this.mMessageList = mMessageList;
  9.     }
  10.  
  11.     @Override
  12.     public MessageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  13.  
  14.         switch (viewType) {
  15.             case TYPE_SENT: return new SentMsgVH();
  16.             case TYPE_RECEIVED: return new ReceivedMsgVh();
  17.         }
  18.  
  19.         /*View v = LayoutInflater.from( parent.getContext() )
  20.                 .inflate( R.layout.message_single_layout_custom, parent, false );
  21.  
  22.         return new MessageViewHolder( v );*/
  23.     }
  24.  
  25.  
  26.     public class MessageViewHolder extends RecyclerView.ViewHolder {
  27.  
  28.         public TextView messageText;
  29.         public CircleImageView profileImage;
  30.  
  31.         public MessageViewHolder(View view) {
  32.             super( view );
  33.         }
  34.     }
  35.  
  36.     class SentMsgVH extends RecyclerView.ViewHolder {
  37.         public SentMsgVH(View itemView){
  38.             super(itemView);
  39.             TextView messageText;
  40.             CircleImageView profileImage;
  41.         }
  42.     }
  43.  
  44.     class ReceivedMsgVh extends RecyclerView.ViewHolder {
  45.         public ReceivedMsgVh(View itemView){
  46.             super(itemView);
  47.             TextView messageText;
  48.             CircleImageView profileImage;
  49.         }
  50.     }
  51.  
  52.  
  53.     @Override
  54.     public void onBindViewHolder(final MessageViewHolder holder, int position) {
  55.  
  56.         View v;
  57.  
  58.         final Messages msg = mMessageList.get( position );
  59.  
  60.  
  61.         // This position_data I get from my server. The string will contain "receiver" or "sender" for every message
  62.         String position_data = msg.getTypeMsg();
  63.  
  64.         if(position_data.equals( "sender" )) {
  65.  
  66.             v = LayoutInflater.from( parent.getContext() )
  67.                     .inflate( R.layout.message_single_layout_right, parent, false );
  68.  
  69.             holder.messageText.setText( msg.getMessage() );
  70.             Picasso.with( context )
  71.                     .load( msg.getProfile_pic() )
  72.                     .networkPolicy( NetworkPolicy.OFFLINE )
  73.                     .into( holder.profileImage );
  74.  
  75.         } else {
  76.             v = LayoutInflater.from( parent.getContext() )
  77.                     .inflate( R.layout.message_single_layout, parent, false );
  78.  
  79.             holder.messageText.setText( msg.getMessage() );
  80.             Picasso.with( context )
  81.                     .load( msg.getProfile_pic() )
  82.                     .networkPolicy( NetworkPolicy.OFFLINE )
  83.                     .into( holder.profileImage );
  84.         }
  85.     }
  86.  
  87.     @Override
  88.     public int getItemCount() {
  89.         return mMessageList.size();
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement