您的位置:首页 > 编程语言

ListView的BaseAdapter中getView方法模板代码

2015-11-03 20:48 381 查看
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = View.inflate(getApplicationContext(),
R.layout.list_item, null);
holder = new ViewHolder();
holder.tvAsk = (TextView) convertView.findViewById(R.id.tv_ask);
holder.tvAnswer = (TextView) convertView
.findViewById(R.id.tv_answer);
holder.llAnswer = (LinearLayout) convertView
.findViewById(R.id.ll_answer);
holder.ivPic = (ImageView) convertView
.findViewById(R.id.iv_pic);

convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

TalkBean item = getItem(position);
if (item.isAsk) {
// 提问
holder.tvAsk.setVisibility(View.VISIBLE);
holder.llAnswer.setVisibility(View.GONE);

holder.tvAsk.setText(item.content);
} else {
// 回答
holder.tvAsk.setVisibility(View.GONE);
holder.llAnswer.setVisibility(View.VISIBLE);

holder.tvAnswer.setText(item.content);

// 有图片
if (item.imageId > 0) {
holder.ivPic.setVisibility(View.VISIBLE);
holder.ivPic.setImageResource(item.imageId);
} else {
// 没图片
holder.ivPic.setVisibility(View.GONE);
}
}

return convertView;
}

}

private static class ViewHolder {
public TextView tvAsk;
public TextView tvAnswer;
public ImageView ivPic;
public LinearLayout llAnswer;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: