package test.bwie.com.shopdemo.adapters; import android.content.Context; import android.graphics.Color; import android.support.v7.widget.RecyclerView; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.squareup.picasso.Picasso; import java.util.ArrayList; import java.util.List; import test.bwie.com.shopdemo.R; import test.bwie.com.shopdemo.bean.IndexBean; /** * date:2017/6/21 * author:张毛第 * function: */ public class IndexFragmentRecycleviewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { public static final String base_image = "http://image3.suning.cn"; private final int singleType = 0; private final int horizontalType = 1; private final int tuigouType = 2; private final int defaultType = 3; private Context context; RecyclerView.ViewHolder viewHolder = null; public List<IndexBean.DataBean> list; public void setData(List<IndexBean.DataBean> data) { if (list == null) { this.list = new ArrayList<IndexBean.DataBean>(); } this.list.addAll(data); notifyDataSetChanged(); } public IndexFragmentRecycleviewAdapter(Context context) { this.context = context; } @Override public int getItemViewType(int position) { int type =0; switch (position){ case 0: type = singleType; break; case 1: type = horizontalType; break; case 2: type = tuigouType; break; default: type = defaultType; break; } return type; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view ; switch (viewType){ case singleType: view = LayoutInflater.from(context).inflate(R.layout.singlepic_item,parent,false); viewHolder = new SinglePicViewHolder(view); break; case horizontalType: view = LayoutInflater.from(context).inflate(R.layout.horizontalscroll_item,parent,false); viewHolder = new HorizontalScrollViewViewHolder(view); break; case tuigouType: view = LayoutInflater.from(context).inflate(R.layout.tuangou_item,parent,false); viewHolder = new TuanGouViewHolder(view); break; default: view = LayoutInflater.from(context).inflate(R.layout.index_default_item,parent,false); viewHolder = new DefaultViewHodler(view); break; } return viewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder instanceof SinglePicViewHolder){ SinglePicViewHolder holder1 = (SinglePicViewHolder) holder; String pic = list.get(position).getTag().get(0).getPicUrl(); Picasso.with(context).load(base_image+pic).into(holder1.imageView); }else if (holder instanceof HorizontalScrollViewViewHolder){ HorizontalScrollViewViewHolder holder2 = (HorizontalScrollViewViewHolder) holder; String pic = list.get(position).getTag().get(0).getPicUrl(); Picasso.with(context).load(base_image+pic).into(holder2.imageView); int size = list.get(position).getTag().size(); for (int i=1;i<size;i++){ String picUrl = list.get(position).getTag().get(i).getPicUrl(); LinearLayout linearLayout = new LinearLayout(context); linearLayout.setOrientation(LinearLayout.VERTICAL); linearLayout.setPadding(10,10,10,0); ImageView imageView = new ImageView(context); imageView.setLayoutParams(new LinearLayout.LayoutParams(200, 200)); Picasso.with(context).load(base_image+picUrl).into(imageView); TextView textView = new TextView(context); textView.setText("90"); textView.setTextColor(Color.RED); textView.setGravity(Gravity.CENTER); linearLayout.addView(imageView); linearLayout.addView(textView); holder2.linearLayout.addView(linearLayout); } }else if (holder instanceof TuanGouViewHolder){ TuanGouViewHolder tuanGouViewHolder = (TuanGouViewHolder) holder; String elementName = list.get(position).getTag().get(0).getElementName(); tuanGouViewHolder.tuangouTitle.setText(elementName); String top = list.get(position).getTag().get(0).getPicUrl(); Picasso.with(context).load(base_image+top).into(tuanGouViewHolder.tuangouTop); String img = list.get(position + 1).getTag().get(0).getPicUrl(); Picasso.with(context).load(base_image+img).into(tuanGouViewHolder.tuangouBigimage); }else if(holder instanceof DefaultViewHodler){ DefaultViewHodler defaultViewHodler = (DefaultViewHodler) holder; defaultViewHodler.textView.setVisibility(View.GONE); } } @Override public int getItemCount() { return list!=null ? list.size() :0; } // 单张图片 class SinglePicViewHolder extends RecyclerView.ViewHolder{ ImageView imageView; public SinglePicViewHolder(View itemView) { super(itemView); imageView = (ImageView) itemView.findViewById(R.id.singleitem_imageview); } } //水平滚动的item class HorizontalScrollViewViewHolder extends RecyclerView.ViewHolder { private final ImageView imageView; private final LinearLayout linearLayout; public HorizontalScrollViewViewHolder(View itemView) { super(itemView); imageView = (ImageView) itemView.findViewById(R.id.horizontals_imageview); linearLayout = (LinearLayout) itemView.findViewById(R.id.horizontal_linearlayout); } } class DefaultViewHodler extends RecyclerView.ViewHolder { private final TextView textView; public DefaultViewHodler(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.indexfragment_textview); } } //团购 class TuanGouViewHolder extends RecyclerView.ViewHolder{ private final ImageView tuangouTop; private final ImageView tuangouBigimage; private final TextView tuangouTitle; private final TextView tuangouDes; private final TextView tuangouPrice; private final LinearLayout linearLayoutButton; public TuanGouViewHolder(View itemView) { super(itemView); tuangouTop = (ImageView) itemView.findViewById(R.id.tuangou_top); tuangouBigimage = (ImageView) itemView.findViewById(R.id.tuangou_bigimage); tuangouTitle = (TextView) itemView.findViewById(R.id.tuangou_title); tuangouDes = (TextView) itemView.findViewById(R.id.tuangou_des); tuangouPrice = (TextView) itemView.findViewById(R.id.tuangou_price); linearLayoutButton = (LinearLayout) itemView.findViewById(R.id.tuangou_buttom); } } }
RecycleView多条缪
最新推荐文章于 2020-07-08 16:57:51 发布