Android ViewHolder的作用与用法
来源:互联网 发布:iface102考勤安装软件 编辑:程序博客网 时间:2024/06/05 11:20
Android ViewHolder的作用与用法
ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能。
public final class ViewHolder {
private TextView tv_OrderNum;
private TextView tv_Status;
private TextView tv_Title;
private TextView tv_money;
private TextView tv_PayScore;
private TextView tv_PtimeName;
private TextView tv_Ptime;
private TextView tv_Type;
}
public View getView(final int arg0, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub
ViewHolder viewHolder = null;
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(
R.layout.item_scoreexrecord, null);
viewHolder.tv_OrderNum = (TextView) convertView
.findViewById(R.id.tv_OrderNum);
viewHolder.tv_Status = (TextView) convertView
.findViewById(R.id.tv_Status);
viewHolder.tv_Title = (TextView) convertView
.findViewById(R.id.tv_Title);
viewHolder.tv_money = (TextView) convertView
.findViewById(R.id.tv_money);
viewHolder.tv_PayScore = (TextView) convertView
.findViewById(R.id.tv_PayScore);
viewHolder.tv_PtimeName = (TextView) convertView
.findViewById(R.id.tv_PtimeName);
viewHolder.tv_Ptime = (TextView) convertView
.findViewById(R.id.tv_Ptime);
viewHolder.tv_Type = (TextView) convertView
.findViewById(R.id.tv_Type);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.tv_OrderNum.setText(arrayList_ScoreExRecord.get(arg0)
.getOrderNum());
viewHolder.tv_Title.setText(arrayList_ScoreExRecord.get(arg0)
.getTitle());
double money = 0;
if (!CommonTools.isEmpty(arrayList_ScoreExRecord.get(arg0).getMoney())) {
money = CommonTools.string2double(arrayList_ScoreExRecord.get(arg0)
.getMoney());
}
viewHolder.tv_money
.setText(CommonTools.string2double2Unit(money) + “元”);
viewHolder.tv_PayScore.setText(arrayList_ScoreExRecord.get(arg0)
.getPayScore() + “分”);
viewHolder.tv_Ptime.setText(arrayList_ScoreExRecord.get(arg0)
.getPtime());
if (arrayList_ScoreExRecord.get(arg0).getType().equals(“1”)) {
viewHolder.tv_Type.setVisibility(View.VISIBLE);
viewHolder.tv_Type
.setBackgroundResource(R.drawable.app_96_btn_qx_norma);
}
if (arrayList_ScoreExRecord.get(arg0).getType().equals(“2”)) {
viewHolder.tv_Type.setVisibility(View.GONE);
viewHolder.tv_PtimeName.setText(“兑换日期:”);
}
if (arrayList_ScoreExRecord.get(arg0).getStatus().equals("1")) { viewHolder.tv_Status.setText("未使用"); } if (arrayList_ScoreExRecord.get(arg0).getStatus().equals("2")) { viewHolder.tv_Status.setText("已使用"); } if (arrayList_ScoreExRecord.get(arg0).getStatus().equals("3")) { viewHolder.tv_Status.setText("已失效"); } if (arrayList_ScoreExRecord.get(arg0).getStatus().equals("4")) { viewHolder.tv_Status.setText("已取消"); } if (arrayList_ScoreExRecord.get(arg0).getStatus().equals("6")) { viewHolder.tv_Status.setText("使用中"); } viewHolder.tv_Type.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { // TODO Auto-generated method stub // requestCancelExchange(arrayList_ScoreExRecord.get(arg0)); quxiaoDialog(arg0); } }); return convertView;}
- Android ViewHolder的作用与用法 详解
- Android ViewHolder的作用与用法
- Android ViewHolder的作用与用法
- Android ViewHolder的作用与用法
- ListView加载性能优化之ViewHolder的作用与用法
- Android ViewHolder的用法
- Android之ViewHolder用法
- Android之ViewHolder用法
- Android之ViewHolder用法
- ViewHolder的经典用法
- ViewHolder的经典用法
- Android的viewHolder模式
- Android的viewHolder模式
- ViewHolder的经典用法<SparseArray>
- android菜瓜笔记之onActivityResult 的作用与用法
- Android Support V4, V7, V13的作用与用法
- Android Support V4, V7, V13的作用与用法
- Android Support V4, V7, V13的作用与用法
- shadowsocks-qt5使用中遇到问题总结
- android 内存泄漏 与分析
- SQL 脚本语言知识点回顾 一
- JAVA字符串格式化-String.format()的使用(转)
- linux下c/c++实例之八字符串分隔、去空格和转大小写
- Android ViewHolder的作用与用法
- ADO.NET入门教程(二)了解.NET数据提供程序
- KMP
- Vi技巧小结
- Beaglebone Black(7)测试PWM功能
- Mac中启动另一个程序并将窗口置于最前面
- 快速排序法
- Eclipse开发JAVA中如何Debug
- Javascript模块化编程(三):require.js的用法