public class MyBaseAdapter extends BaseAdapter {
List<Map<String, Object>> alllines = null;
Context context;
public MyBaseAdapter(Context context,List<Map<String, Object>> alllines) {
this.alllines = alllines;
this.context = context;
}
@Override
public int getCount() {
return alllines.size();
}
//获取子试图封装的对象
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
//android系统负责调用生成子试图
//第二个参数:子视图,第三个参数:高级组件本身
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/**
* 1.加载子视图布局文件
* 2.组件实例中添加数据
* 3.添加监听器,重写事件处理方法
*/
//Listview优化
MyViewHolder mvh = new MyViewHolder();
if(convertView == null){
convertView = LayoutInflater.from(context).inflate(R.layout.subview, null);
mvh.imageView = (ImageView) convertView.findViewById(R.id.iv_news);
mvh.textView = (TextView) convertView.findViewById(R.id.tv_content);
mvh.button = (Button) convertView.findViewById(R.id.bt_read);
convertView.setTag(mvh);
}else{
mvh = (MyViewHolder) convertView.getTag();
}
mvh.imageView.setImageResource((Integer)alllines.get(position).get("myicon"));
mvh.textView.setText(alllines.get(position).get("mycount").toString());
mvh.button.setText(alllines.get(position).get("mybutton").toString());
//Button必须通过外部监听器,获取int position的值
mvh.button.setOnClickListener(new MyButtonListener(position, context, alllines));
return convertView;
}
}
BaseAdapter优化
最新推荐文章于 2025-09-12 19:52:27 发布
