mvp多条目

public class ProductAdapter extends

RecyclerView.Adapter<ProductAdapter.Holder>{

List<ProductBean.ProductData.Product> list;
int type = 1;
Context mContext;

public ProductAdapter(List<ProductBean.ProductData.Product> list , Context context){
    this.list = list;
    this.mContext = context;
}

@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    Log.e("tag" ,"onCreateViewHolder");
    View view = null;
    if(type == 1){
        view = LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.item_1_layout , null);
    }else {
        view = LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.item_2_layout , null);
    }
    return new Holder(view);
}

@Override
public void onBindViewHolder(@NonNull Holder holder, int i) {
    Log.e("tag" ,"onBindViewHolder");
    if(type == 1){
        String title = list.get(i).title;
        String imagUrl = "http://365jia.cn/uploads/" + list.get(i).pics.get(0);
        if( holder != null&&holder.title_1 != null){
            holder.title_1.setText(title);
            Glide.with(mContext).load(imagUrl).into(holder.imag_1);
        }
    }else {
        String title = list.get(i).title;
        String imagUrl = "http://365jia.cn/uploads/" + list.get(i).pics_new.get(0);
        if( holder != null&&holder.title_2 != null){
            holder.title_2.setText(title);
            Glide.with(mContext).load(imagUrl).into(holder.imag_2);
        }
    }
}

@Override
public int getItemCount() {
    Log.e("tag" ,"getItemCount");
    if(list != null){
        return  list.size();
    }
    return 0;
}

//重写条目类型的回调方法
@Override
public int getItemViewType(int position) {

    List<String> plist = list.get(position).pics_new ;
    if(plist == null || plist.size() == 0){
        type = 1;
    }else {
        type = 2;
    }
    Log.e("tag" ,"getItemViewType = " + type);

    return super.getItemViewType(position);
}


public class Holder extends RecyclerView.ViewHolder{

    public TextView title_1 , title_2;
    public ImageView imag_1 , imag_2;
    public Holder(@NonNull View itemView) {
        super(itemView);
        Log.e("tag" ,"Holder");
        if(type == 1){
            title_1 = itemView.findViewById(R.id.title_1_id);
            imag_1 = itemView.findViewById(R.id.imag_1_id);
        }else {
            title_2 = itemView.findViewById(R.id.title_2_id);
            imag_2 = itemView.findViewById(R.id.imag_2_id);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/a506656675/article/details/88625966
今日推荐