public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
/**
* Recycler(反复循环器):如果convertview 是第一次展示我们就创建新的Holder对象与之绑定,并在最后通过return
* convertview 返回,去显示;如果convertview
* 是回收来的那么我们就不必创建新的holder对象,只需要把原来的绑定的holder取出加上新的数据就行了
*/
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = myInflater.inflate(R.layout.layout_homework, null);
viewHolder.imgSubject = (ImageView) convertView
.findViewById(R.id.imgsubject);
viewHolder.txtSubject = (TextView) convertView
.findViewById(R.id.txtsubject);
viewHolder.txtCreateBy = (TextView) convertView
.findViewById(R.id.txtcreateby);
viewHolder.txtCreateTime = (TextView) convertView
.findViewById(R.id.txtcreateTime);
viewHolder.txtWorkName = (TextView) convertView
.findViewById(R.id.txtworkname);
viewHolder.txtContent = (TextView) convertView
.findViewById(R.id.txtcontent);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
if (ihomeworks != null && !ihomeworks.isEmpty()) {
Ihomework ihomework = ihomeworks.get(position);
// listview每显示一条就调用一次getView方法;给当前显示的view赋值
// viewHolder.imgSubject.setImageDrawable(viewHolder.imgSubject
// .getResources().getDrawable(ihomework.getSubjectId()));
viewHolder.txtSubject.setText(ihomework.getSubjectName());
viewHolder.txtCreateBy.setText(ihomework.getCreateBy());
viewHolder.txtCreateTime.setText(ihomework.getCreateTime());
viewHolder.txtWorkName.setText(ihomework.getName());
viewHolder.txtContent.setText(ihomework.getContent());
viewHolder.txtWorkName.setOnClickListener(new DetailClickListener(position));
}
return convertView;
}
Analysis:Sets the tag associated with this view. A tag can be used to mark a view in its hierarchy and does not have to be unique within the hierarchy. Tags can also be used to store data within a view without resorting to another data structure.