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; }
相关文章推荐
- 回车与换行的区别
- C++禁止对象拷贝操作
- Python中字符串的split用法
- java中的多线程——线程创建方式、线程互斥和线程间通信
- ruby线程操作(续)同步线程
- ContentProvider 内容提供者
- java 根据模板,导出word并提供下载
- Python中split分割字符的使用
- const小总结
- python编写找1 -100的素数的程序
- C# 包装模式
- C语言宏基础总结
- 有漏洞的代码
- java web工程经常遇到加了包之后发现提示ClassNotFound
- python内置函数repr()与eval()
- Python爬虫碎碎念
- BeanPostProcessors使用总结
- PCA算法Python实现
- python快排
- Eclipse添加Qt插件