自定义baseAdapter的比较好的一种方法

在网上学习到一种定义baseApdater的一种比较优美的方法,加上最近自己也连续用到几次这个方法,现在归纳整理一下,提升学习:

!!!!!!!    特别注明:该方法不是本人设计,而是本人在一个视频<android必学-baseadapter的使用与优化>>



程序员沟通最有效的语言莫过于代码和注释:


以下是自己的写的一个类



public class CommentAdapter extends BaseAdapter{


private List<CommentBean> data;        //数据源
private LayoutInflater inflater;

     //  构造函数
public CommentAdapter(Context context,List<CommentBean> list){
data=list;  inflater=LayoutInflater.from(context);
}

@Override
public int getCount() {
// TODO 自动生成的方法存根
return data.size();                  //返回数据的大小
}


@Override
public Object getItem(int position) {
// TODO 自动生成的方法存根
return data.get(position);              //返回某个特定的数据
}


@Override
public long getItemId(int position) {
// TODO 自动生成的方法存根
return position;
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO 自动生成的方法存根

ViewHolder viewHolder;
if(convertView==null){

//若是converview没有缓存过就新建一个
convertView=inflater.inflate(R.layout.comment, null);


//viewHolder也是同理,

viewHolder=new ViewHolder();
viewHolder.comment_main=(TextView) convertView.findViewById(R.id.commentOfMain);
viewHolder.nickName=(TextView) convertView.findViewById(R.id.textView2);
viewHolder.date=(TextView) convertView.findViewById(R.id.textView3);
viewHolder.loc=(TextView) convertView.findViewById(R.id.textView4);

// 标注viewholder,下次方便可以直接取出
convertView.setTag(viewHolder);
}else{

//缓存过就直接取出viewholder
viewHolder=(ViewHolder) convertView.getTag();
}


//对于viewholder的负责的每一个子view赋值
viewHolder.comment_main.setText(data.get(position).getComment());
viewHolder.nickName.setText(data.get(position).getNickName());
viewHolder.date.setText(data.get(position).getDate());
viewHolder.loc.setText(data.get(position).getLoc());

//返回converview
return convertView;
}

private class ViewHolder{

public  TextView comment_main;
public TextView nickName;
public TextView date;
public TextView loc;
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值