您的位置:首页 > 其它

类ListView与BaseAdapter(BaseAdapter的工作流程)

2015-07-03 23:33 337 查看
在我们需要定制自己的适配器时(adapter)时我们就需要继承BaseAdapter抽象类,除了必要的构造函数外有几个函数是必须要重载的,它们是:

public abstract int getCount()

该方法的返回值控制该Adapter将会包含多少个列表项

public abstract Object getItem(int position)

该方法的返回值决定第position处的列表项的内容

public abstract long getItemId(int position)

该方法的返回值决定第position处的列表项的ID

public abstract View getView(int position, View convertView, ViewGroup parent)

该方法的返回值决定第position处的列表项的布局。由返回值类型为view可知,要在getView()方法中设计好列表项的布局,并对需要填充数据的组件调用setText()等方法填充,最后返回列表项的布局对象。



由该流程图可知,每个position出的列表项的布局都是一样的



例子中R.layout.item是列表项的布局文件

convertView可用这个方法赋值为每个列表项的布局对象,故convertView可作为返回值

holder = new ViewHolder();//convertView下的三个控件ItemTitle、ItemText、ItemButton交由 holder管理,

//即holder对象hold着这三个控件

/*得到各个控件的对象*/

holder.title = (TextView) convertView.findViewById(R.id.ItemTitle);

holder.text = (TextView) convertView.findViewById(R.id.ItemText);

holder.bt = (Button) convertView.findViewById(R.id.ItemButton);

convertView.setTag(holder);//绑定ViewHolder对象







可知 ViewHolder对象只是协助管理convertview下的控件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: