80,471
社区成员




@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (null == convertView) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.my_list, null);
holder.mImageView = (ImageView)convertView.findViewById(R.id.imageview_id);
holder.mTextView = (TextView)convertView.findViewById(R.id.textview_id);
holder.mImageButton = (ImageButton)convertView.findViewById(R.id.imagebutton_id);
holder.mImageButton.setFocusable(false);
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
Data detail = mList.getItem(position);
holder.mTextView.setText(detail.mText);
if (detail.mBmp != null) { // 1、下载完图片,mBmp不为空.是否调用notifyDataSetChanged()即可
holder.mImageView.setImageBitmap(detail.mBmp);
}
holder.mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 2、这里如何得到,这是第几项的相应?
}
});
return convertView;
}
holder.mImageButton.setTag(Integer.valueOf(position));
holder.mImageButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Integer i = (Integer)arg0.getTag();
int position = i.intValue(); // 不知道为什么,这里的position总是不对
}
});
holder.mButton.setTag(position);
holder.mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
int position = (Integer) arg0.getTag();
//do it
}
});
return convertView;
}