import android.content.Context;java
import android.support.v7.widget.GridLayoutManager;android
import android.support.v7.widget.RecyclerView;ide
import android.view.LayoutInflater;this
import android.view.View;url
import android.view.ViewGroup;排序
import android.widget.TextView;get
import com.example.pdd.bean.Bean;it
import com.example.pdd.bean.Bean1;io
import com.facebook.drawee.view.SimpleDraweeView;class
import com.youth.banner.Banner;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2017/12/13/013.
*/
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
public static final int TYPE_PULL_IMAGE = 0;
public static final int TYPE_RIGHT_IMAGE = 1;
public static final int TYPE_THREE_IMAGE = 2;
private Object object;
private Context context;
public MyAdapter(Object object, Context context) {
this.object=object;
this.context = context;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if(viewType==TYPE_PULL_IMAGE){
View view=LayoutInflater.from(context).inflate(R.layout.item2,parent,false);
ViewHolder2 holder2=new ViewHolder2(view);
return holder2;
}else if(viewType==TYPE_RIGHT_IMAGE){
View view=LayoutInflater.from(context).inflate(R.layout.item1,parent,false);
ViewHolder1 holder1=new ViewHolder1(view);
return holder1;
}else {
View view = LayoutInflater.from(context).inflate(R.layout.item, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ViewHolder2){
List<String> list1=new ArrayList<String>();
if(object instanceof Bean1){
for (int i=0;i<((Bean1) object).bean2s.size();i++){
list1.add(((Bean1) object).bean2s.get(position).home_banner);
}
}
((ViewHolder2) holder).banner.setImages(list1).setImageLoader(new GlideImageLoader()).isAutoPlay(true).setViewPagerIsScroll(true).start();
}
if(holder instanceof ViewHolder1){
((ViewHolder1) holder).titel.setText("綜合排序");
((ViewHolder1) holder).titel2.setText("銷量優先");
}
if(holder instanceof ViewHolder){
if (object instanceof Bean){
((ViewHolder) holder).price.setText("¥:"+((Bean) object).goods_list.get(position).group.price);
((ViewHolder) holder).tv.setText(((Bean) object).goods_list.get(position).short_name);
((ViewHolder) holder).sdv.setImageURI(((Bean) object).goods_list.get(position).image_url);
}
}
}
@Override
public int getItemCount() {
return 19;
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
RecyclerView.LayoutManager manager=recyclerView.getLayoutManager();
if(manager instanceof GridLayoutManager){
final GridLayoutManager gridLayoutManager= (GridLayoutManager) manager;
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
int type=getItemViewType(position);
switch (type){
case TYPE_PULL_IMAGE:
return 2;
case TYPE_RIGHT_IMAGE:
return 2;
case TYPE_THREE_IMAGE:
return 1;
}
return 0;
}
});
}
}
@Override
public int getItemViewType(int position) {
if (position==0){
return TYPE_PULL_IMAGE;
}else if(position==1)
{
return TYPE_RIGHT_IMAGE;
}else
return TYPE_THREE_IMAGE;
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView tv,price;
SimpleDraweeView sdv;
public ViewHolder(View itemView) {
super(itemView);
sdv=itemView.findViewById(R.id.sdv);
tv=itemView.findViewById(R.id.tv);
price=itemView.findViewById(R.id.price);
}
}
public class ViewHolder1 extends RecyclerView.ViewHolder{
TextView titel,titel2;
public ViewHolder1(View itemview){
super(itemview);
titel=itemview.findViewById(R.id.titel);
titel2=itemview.findViewById(R.id.titel2);
}
}
public class ViewHolder2 extends RecyclerView.ViewHolder{
Banner banner;
public ViewHolder2(View itemview){
super(itemview);
banner=itemview.findViewById(R.id.banner);
}
}
}