private List<T> listdate;//定义数据对象
//为了获取item中的点击事件定义ViewHolder
private static class ViewHolder {
//listitem(布局xml)的控件
ImageButton btn_edit;
ImageButton btn_del;
TextView tv_itemid,tv_itemname,tv_itemnum;
}
//定义数据适配器
class MyAdapter extends BaseAdapter{
@Override
public int getCount() { return listdate.size(); }
@Override
public Object getItem(int position) { return null; }
@Override
public long getItemId(int position) { return 0; }
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder vh;
//实现布局
if(convertView == null){ //子view第一次出现,需要构造,将重要内容放置在viewHolder,并通过setTag()存放。
convertView = View.inflate(getApplicationContext(), R.layout.listitem, null ); //创建view
vh = new ViewHolder();
convertView.setTag(vh);
}else{ //子view已经出现过,利用原来已经创建的对象,获得控件信息
vh = (ViewHolder)convertView.getTag();
}
vh.btn_edit=(ImageButton)convertView.findViewById(R.id.btn_edit);
vh.tv_itemid=(TextView)convertView.findViewById(R.id.tv_itemid);
//赋值
vh.tv_itemid.setText(listdate.get(position).(为定义T对象的属性));
//编辑按钮
vh.btn_edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
return convertView; //返回子view的对象
}
}
//调用
ListView lv --控件
lv.setAdapter(new MyAdapter());