Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MessageAdapterCustom extends RecyclerView.Adapter<MessageAdapterCustom.MessageViewHolder> {
- private List<Messages> mMessageList;
- private Context context;
- public MessageAdapterCustom(Context context, List<Messages> mMessageList) {
- this.context = context;
- this.mMessageList = mMessageList;
- }
- @Override
- public MessageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- switch (viewType) {
- case TYPE_SENT: return new SentMsgVH();
- case TYPE_RECEIVED: return new ReceivedMsgVh();
- }
- /*View v = LayoutInflater.from( parent.getContext() )
- .inflate( R.layout.message_single_layout_custom, parent, false );
- return new MessageViewHolder( v );*/
- }
- public class MessageViewHolder extends RecyclerView.ViewHolder {
- public TextView messageText;
- public CircleImageView profileImage;
- public MessageViewHolder(View view) {
- super( view );
- }
- }
- class SentMsgVH extends RecyclerView.ViewHolder {
- public SentMsgVH(View itemView){
- super(itemView);
- TextView messageText;
- CircleImageView profileImage;
- }
- }
- class ReceivedMsgVh extends RecyclerView.ViewHolder {
- public ReceivedMsgVh(View itemView){
- super(itemView);
- TextView messageText;
- CircleImageView profileImage;
- }
- }
- @Override
- public void onBindViewHolder(final MessageViewHolder holder, int position) {
- View v;
- final Messages msg = mMessageList.get( position );
- // This position_data I get from my server. The string will contain "receiver" or "sender" for every message
- String position_data = msg.getTypeMsg();
- if(position_data.equals( "sender" )) {
- v = LayoutInflater.from( parent.getContext() )
- .inflate( R.layout.message_single_layout_right, parent, false );
- holder.messageText.setText( msg.getMessage() );
- Picasso.with( context )
- .load( msg.getProfile_pic() )
- .networkPolicy( NetworkPolicy.OFFLINE )
- .into( holder.profileImage );
- } else {
- v = LayoutInflater.from( parent.getContext() )
- .inflate( R.layout.message_single_layout, parent, false );
- holder.messageText.setText( msg.getMessage() );
- Picasso.with( context )
- .load( msg.getProfile_pic() )
- .networkPolicy( NetworkPolicy.OFFLINE )
- .into( holder.profileImage );
- }
- }
- @Override
- public int getItemCount() {
- return mMessageList.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement