public class DemoAdapter extends BaseAdapter {
private List<List<String>> mDatas;
private Context mContext;
public DemoAdapter(Context context) {
this.mContext = context;
mDatas = new ArrayList <>();
}
//外部调用 更新数据
public void setmDatas(List <List <String>> mDatas) {
this.mDatas = mDatas;
notifyDataSetChanged();;
}
@Override
public int getCount() {
return mDatas.size();
}
@Override
public List<String> getItem(int i) {
List<String> item = mDatas.get(i);
return item;
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder vh;
//复用,不重复创建View
if(view == null){
view = view.inflate(mContext,R.layout.item,null);
vh = new ViewHolder();
vh.mIcon = view.findViewById(R.id.iv_icon);
vh.mText = view.findViewById(R.id.tv_text);
view.setTag(vh);
}else{
vh = (ViewHolder) view.getTag();
}
//TODO 设置图片
//设置 数据
vh.mText.setText(getItem(i).get(0));
return view;
}
class ViewHolder {
private ImageView mIcon;
private TextView mText;
}
}