/** * Copyright (c) 2015 * * Licensed under the UCG License, Version 1.0 (the "License"); */ package com.siso.app.adapter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import com.siso.app.entity.ShareEntity; import com.siso.app.ui.R; import com.siso.app.ui.WebViewActivity; import com.siso.app.utils.AsynImageLoader; import com.siso.app.widget.CircleImageView; import com.siso.app.widget.viewpagerindicator.CirclePageIndicator; import com.siso.app.widget.viewpagerindicator.PageIndicator; import com.squareup.picasso.Picasso; import android.content.Context; import android.content.Intent; import android.support.v4.view.ViewPager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.ImageView.ScaleType; /** * description : * * @version 1.0 * @author Owater * @createtime : 2015-5-4 下午8:14:06 * * 修改历史: * 修改人 修改时间 修改内容 * --------------- ------------------- ----------------------------------- * Owater 2015-5-4 下午8:14:06 * */ public class ShareDetailAdapter extends RecyclerView.Adapter<ShareDetailAdapter.ViewHolder> implements OnClickListener{ private Context context; private ShareEntity shareEntity; private final LayoutInflater inflater; private OnItemClickListener listener; private final int VIEW_TYPE_BANNER = 0; private final int VIEW_TYPE_DESP = 1; public ShareDetailAdapter(Context context, ShareEntity shareEntity,OnItemClickListener listener) { this.context = context; this.shareEntity = shareEntity; this.inflater = LayoutInflater.from(context); this.listener = listener; } public static class ViewHolder extends RecyclerView.ViewHolder { public CircleImageView avatar; public TextView userName; public TextView time; public TextView desp; public TextView goodsName; public TextView goodsPrice; public ViewPager viewPager; public PageIndicator mIndicator; private View itemView; public Button button; public ViewHolder(View itemView) { super(itemView); this.itemView=itemView; this.avatar = (CircleImageView) itemView.findViewById(R.id.item_share_detail_avatar); this.userName = (TextView) itemView.findViewById(R.id.item_share_detail_uname); this.desp = (TextView) itemView.findViewById(R.id.item_share_detail_desp); this.viewPager = (ViewPager)itemView.findViewById(R.id.item_goods_detail_viewpager); this.mIndicator = (CirclePageIndicator) itemView.findViewById(R.id.indicator); this.goodsName = (TextView)itemView.findViewById(R.id.item_share_detail_title); this.goodsPrice = (TextView)itemView.findViewById(R.id.item_share_detail_price); this.time = (TextView)itemView.findViewById(R.id.item_share_detail_time); this.button = (Button)itemView.findViewById(R.id.item_share_detail_go); } } public static interface OnItemClickListener { public void onItemClick(View view,ShareEntity shareEntity); } @Override public int getItemCount() { return 2; } @Override public int getItemViewType(int position) { return position == 0 ? VIEW_TYPE_BANNER : VIEW_TYPE_DESP; } @Override public void onBindViewHolder(ViewHolder holder, int position) { // Picasso picasso = Picasso.with(holder.imageView.getContext()); // picasso.load(shareEntity.getImgUrl()).placeholder(R.drawable.ic_img_loading).into(holder.imageView); switch (getItemViewType(position)) { case VIEW_TYPE_BANNER: initBanner(holder); break; case VIEW_TYPE_DESP: holder.userName.setText(shareEntity.getUserName()); holder.desp.setText(shareEntity.getShareReason()); holder.goodsName.setText(shareEntity.getTitle()); holder.goodsPrice.setText(shareEntity.getGoodsPrice()+""); Date date = shareEntity.getCreate_time(); SimpleDateFormat sdf=new SimpleDateFormat("MM-dd-yyyy"); if(date!=null) holder.time.setText(sdf.format(date)); Picasso picasso = Picasso.with(holder.avatar.getContext()); picasso.load(shareEntity.getAvatarUrl()).placeholder(R.drawable.ic_img_loading).into(holder.avatar); holder.button.setOnClickListener(this); break; default: break; } } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { switch (viewType) { case VIEW_TYPE_BANNER: return new ViewHolder(inflater.inflate(R.layout.item_goods_detail_banner,parent,false)); case VIEW_TYPE_DESP: View view = inflater.inflate(R.layout.item_share_detail,parent,false); ViewHolder viewHolder = new ViewHolder(view); view.setOnClickListener(this); return viewHolder; default: return null; } } @Override public void onClick(View v) { if(listener!=null){ listener.onItemClick(v, (ShareEntity)v.getTag()); } if(v.getId()==R.id.item_share_detail_go){ Intent intent = new Intent(context,WebViewActivity.class); intent.putExtra("url", shareEntity.getGoodsUrl()); context.startActivity(intent); } } private void initBanner(ViewHolder viewHolder) { ArrayList<View> viewlist = new ArrayList<View>(); viewHolder.viewPager = (ViewPager)viewHolder.itemView.findViewById(R.id.item_goods_detail_viewpager); viewHolder.mIndicator = (CirclePageIndicator) viewHolder.itemView.findViewById(R.id.indicator); String imgUrl[] = shareEntity.getImgUrl().split(";"); for (int i = 0; i < imgUrl.length; i++) { View view = viewHolder.itemView.inflate(context, R.layout.item_banner_view, null); viewlist.add(view); } BannerAdapter bannerAdapter = new BannerAdapter(context,viewlist,imgUrl); viewHolder.viewPager.setAdapter(bannerAdapter); viewHolder.mIndicator.setViewPager(viewHolder.viewPager); } }