Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- `public class MessageAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- Context context;
- private List<Object> items;
- public static final int TYPE_MSG_HEADER= 0;
- public static final int TYPE_MSG_INCOMING = 1;
- public static final int TYPE_MSG_OUTGOING = 2;
- public static final int TYPE_MSG_NEARBY_LIST =3;
- RecyclerView.Adapter horizontalAdapater;
- public MessageAdapter(Context context,List<Object> items) {
- this.context=context;
- this.items = items;
- }
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType)
- {
- RecyclerView.ViewHolder viewHolder=null;
- LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext());
- View view;
- switch (viewType)
- {
- case TYPE_MSG_HEADER:
- view = inflater.inflate(R.layout.msg_header, viewGroup, false);
- viewHolder = new ViewHolder1(view);
- break;
- case TYPE_MSG_INCOMING:
- view = inflater.inflate(R.layout.st_get_msg_left, viewGroup, false);
- viewHolder = new ViewHolder2(view);
- break;
- case TYPE_MSG_OUTGOING:
- view = inflater.inflate(R.layout.st_get_msg_right, viewGroup, false);
- viewHolder = new ViewHolder3(view);
- break;
- case TYPE_MSG_NEARBY_LIST:
- view= inflater.inflate(R.layout.near_resturant_albym, viewGroup, false);
- viewHolder = new ViewHolder4(view);
- break;
- }
- return viewHolder;
- }
- @Override
- public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int position) {
- switch (viewHolder.getItemViewType())
- {
- case TYPE_MSG_HEADER:
- ViewHolder1 vh1 = (ViewHolder1) viewHolder;
- configureViewHolder1(vh1, position);
- break;
- case TYPE_MSG_INCOMING:
- ViewHolder2 vh2 = (ViewHolder2) viewHolder;
- configureViewHolder2(vh2, position);
- break;
- case TYPE_MSG_OUTGOING:
- ViewHolder3 vh3 = (ViewHolder3) viewHolder;
- configureViewHolder3(vh3, position);
- break;
- case TYPE_MSG_NEARBY_LIST:
- ViewHolder4 vh4 = (ViewHolder4) viewHolder;
- configureViewHolder4(vh4, position);
- break;
- }
- }
- private void configureViewHolder1(ViewHolder1 vh1, int position) {
- }
- private void configureViewHolder2(ViewHolder2 vh2, int position) {
- MsgIncomingDetails user = (MsgIncomingDetails) items.get(position);
- if (user != null) {
- vh2.setImage(user.getPic_url());
- vh2.setSubmsg(user.getSub_msg());
- }
- }
- private void configureViewHolder3(ViewHolder3 vh3, int position) {
- MsgOutgoingDetails user = (MsgOutgoingDetails) items.get(position);
- if (user != null) {
- vh3.setSubmsg(user.getSub_msg());
- }
- }
- private void configureViewHolder4(ViewHolder4 vh4,final int position)
- {
- SugectionList sugectionList=(SugectionList)items.get(position) ;
- horizontalAdapater =new HorizontalAdapter(context,sugectionList.getNearByListDetailsList());
- vh4.recycler_view_list.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false));
- vh4.recycler_view_list.setAdapter(horizontalAdapater);
- vh4.recycler_view_list.setHasFixedSize(true);
- //adapater.notifyDataSetChanged();
- //notifyItemInserted(position);
- vh4.recycler_view_list.addOnItemTouchListener(new RecyclerItemClickListener(context, new RecyclerItemClickListener.OnItemClickListener() {
- @Override
- public void onItemClick(View v, int pos)
- {
- NearByListDetails list=((SugectionList) items.get(position)).getNearByListDetailsList().get(pos);
- Intent intent=new Intent(context, CardDetailScreen.class);
- Bundle b = new Bundle();
- b.putSerializable("nearlist", list);
- intent.putExtras(b);
- context.startActivity(intent);
- }
- })
- );
- }
- @Override
- public int getItemCount() {
- return items.size();
- }
- @Override
- public int getItemViewType(int position) {
- if (items.get(position) instanceof MsgIncomingDetails) {
- return TYPE_MSG_INCOMING;
- }
- else if (items.get(position) instanceof MsgOutgoingDetails) {
- return TYPE_MSG_OUTGOING;
- }
- else if (items.get(position) instanceof MsgHeaderDetails) {
- return TYPE_MSG_HEADER;
- }
- else if (items.get(position) instanceof SugectionList) {
- return TYPE_MSG_NEARBY_LIST;
- }
- return -1;
- }
- public class ViewHolder1 extends RecyclerView.ViewHolder {
- public ViewHolder1(View itemView) {
- super(itemView);
- }
- }
- public class ViewHolder2 extends RecyclerView.ViewHolder
- {
- AppCompatImageView imgView;
- TextView txtLastMsg;
- public ViewHolder2(View itemView) {
- super(itemView);
- txtLastMsg = (TextView) itemView.findViewById(R.id.txtLastMsgRecvd);
- imgView = (AppCompatImageView) itemView.findViewById(R.id.imgvProfPic);
- }
- public void setSubmsg(String submsg)
- {
- if (null == txtLastMsg) return;
- txtLastMsg.setText(submsg);
- }
- public void setImage(String img_url)
- {
- if (null == imgView) return;
- if(img_url!=null && !(img_url.equals("")))
- {
- Picasso.with(context).load(img_url).into(imgView);
- }
- else
- {
- Picasso.with(context).load(R.drawable.betty_icon).into(imgView);
- }
- }
- }
- public class ViewHolder3 extends RecyclerView.ViewHolder {
- TextView txtLastMsg;
- public ViewHolder3(View itemView)
- {
- super(itemView);
- txtLastMsg = (TextView) itemView.findViewById(R.id.txtLastMsgRecvd);
- }
- public void setSubmsg(String submsg)
- {
- if (null == txtLastMsg) return;
- txtLastMsg.setText(submsg);
- }
- }
- public class ViewHolder4 extends RecyclerView.ViewHolder {
- public RecyclerView recycler_view_list;
- public ViewHolder4(View itemView)
- {
- super(itemView);
- recycler_view_list=(RecyclerView)itemView.findViewById(R.id.recyclerViewNearByRest);
- }
- }
- }`
- `public class HorizontalAdapter extends RecyclerView.Adapter<HorizontalAdapter.MyViewHolder> {
- private Context mContext;
- private List<NearByListDetails> albumList;
- CustomItemClickListener listener;
- public class MyViewHolder extends RecyclerView.ViewHolder {
- public TextView txtTitle,txtAddress,txtPrice,txtRate,txtRatelbl;
- public ImageView thumbnail;
- public MyViewHolder(View view) {
- super(view);
- txtTitle = (TextView) view.findViewById(R.id.title);
- txtAddress = (TextView) view.findViewById(R.id.txtAddress);
- txtPrice = (TextView) view.findViewById(R.id.txtPrice);
- txtRatelbl= (TextView) view.findViewById(R.id.txtRatelbl);
- txtRate = (TextView) view.findViewById(R.id.txtRate);
- thumbnail = (ImageView) view.findViewById(R.id.thumbnail);
- }
- }
- public HorizontalAdapter(Context mContext, List<NearByListDetails> albumList) {
- this.mContext = mContext;
- this.albumList = albumList;
- //this.listener=listener;
- }
- @Override
- public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View mView = LayoutInflater.from(parent.getContext()).inflate(R.layout.album_card, parent, false);
- final MyViewHolder mViewHolder = new MyViewHolder(mView);
- mView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- try
- {
- listener.onItemClick(v, mViewHolder.getPosition());
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- });
- return mViewHolder;
- }
- @Override
- public void onBindViewHolder(final MyViewHolder holder, int position) {
- NearByListDetails album = albumList.get(position);
- holder.txtTitle.setText(album.getTitle());
- holder.txtAddress.setText(album.getAddress());
- holder.txtPrice.setText(album.getPrice());
- holder.txtRate.setText(album.getRate());
- // loading album cover using Picasso library
- if((album.getImage_url()!=null )&& !(album.getImage_url().equals("")))
- Picasso.with(mContext).load(album.getImage_url()).into(holder.thumbnail);
- }
- @Override
- public int getItemCount() {
- return albumList.size();
- }
- }
- `
Add Comment
Please, Sign In to add comment