引用方式 compile 'com.bean.list_grid_view:adapter:1.0.0'
package com.adapter.smart.bean;
import java.io.Serializable;
import java.util.List;
/**
* Created by smart on 2017/4/24.
*/
public class MoocBean implements Serializable {
private int status;
private String msg;
private List<DataBean> data;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean implements Serializable {
private int id;
private String name;
private String picSmall;
private String picBig;
private String description;
private int learner;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPicSmall() {
return picSmall;
}
public void setPicSmall(String picSmall) {
this.picSmall = picSmall;
}
public String getPicBig() {
return picBig;
}
public void setPicBig(String picBig) {
this.picBig = picBig;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getLearner() {
return learner;
}
public void setLearner(int learner) {
this.learner = learner;
}
}
}
package com.adapter.smart.viewholder;
import android.widget.ImageView;
import android.widget.TextView;
import com.smart.holder_library.iinterface.IViewHolder;
/**
* Created by smart on 2017/4/25.
*/
public class ListDataViewHolder implements IViewHolder {
public TextView name;
public TextView description;
public TextView learner;
public ImageView picSmall;
}
package com.adapter.smart.viewholder;
import android.content.Context;
import android.support.annotation.NonNull;
import android.view.View;
import com.adapter.smart.R;
import com.adapter.smart.bean.MoocBean;
import com.adapter.smart.utils.UtilImageloader;
import com.smart.holder_library.iinterface.IViewHolder;
import com.smart.holder_library.iinterface.IViewHolderHelper;
import com.adapter.smart.utils.UtilWidget;
import java.util.List;
/**
* Created by smart on 2017/4/26.
*/
/*
* 实例化你的viewholder
* 将数据和viewholder的控件绑定
* */
public class ListDataViewHolderHelper implements IViewHolderHelper<ListDataViewHolder,MoocBean.DataBean> {
@Override
public IViewHolder initItemViewHolder(ListDataViewHolder viewHolder, @NonNull View convertView) {
viewHolder = new ListDataViewHolder();
viewHolder.name = UtilWidget.getView(convertView, R.id.id_name);
viewHolder.description = UtilWidget.getView(convertView,R.id.id_description);
viewHolder.learner = UtilWidget.getView(convertView,R.id.id_learner);
viewHolder.picSmall = UtilWidget.getView(convertView,R.id.id_picSmall);
return viewHolder;
}
@Override
public void bindListDataToView(Context context, List<MoocBean.DataBean> iBaseBeanList, ListDataViewHolder viewHolder, int position) {
viewHolder.name.setText(iBaseBeanList.get(position).getName());//这个地方自己可以优化的,不必要每次获取list
viewHolder.description.setText(iBaseBeanList.get(position).getDescription());
viewHolder.learner.setText("人数:"+iBaseBeanList.get(position).getLearner());
UtilImageloader.setImage(context,iBaseBeanList.get(position).getPicSmall(),viewHolder.picSmall);
}
}
/**
* param context 上下文
* param iBaseBeanList 数据集(list的形式传递过来)
* param itemViewLayout (item的布局文件)
* param iViewHolderHelper (viewholder的接口)
*/
public CommonAdapter(Context context, List<BEAN> iBaseBeanList, int itemViewLayout, IViewHolderHelper iViewHolderHelper) {}
mListView.setAdapter(new CommonAdapter(mContext, mDataBeanList, R.layout.list_view_item,new ListDataViewHolderHelper()));