@Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null){
//给ListView添加布局 convertView = View.inflate(activity, R.layout.menufragment_listview_item,null); viewHolder = new ViewHolder(); viewHolder.icon = (ImageView) convertView.findViewById(R.id.item_iv_arrow); viewHolder.title = (TextView) convertView.findViewById(R.id.item_iv_title); //提交
convertView.setTag(viewHolder); }else {
//复用 convertView.getTag(); } viewHolder.icon.setImageResource(R.mipmap.menu_arr_normal); viewHolder.title.setText(list.get(position)); return convertView; } static class ViewHolder{ ImageView icon; TextView title; }
本文介绍了一个自定义的ListAdapter实现过程,包括如何重写关键方法如getCount(), getItem(), getItemId() 和 getView()等来适配特定的数据源和视图。通过实例展示了如何使用ViewHolder模式提高ListView性能,并详细说明了getView()方法中对convertView的处理流程。
622

被折叠的 条评论
为什么被折叠?



