ViewHolder不是Android的开发API,而是一种设计方法,就是设计个静态类,缓存一下,省得Listview更新的时候,还要重新操作。

@OverridepublicViewgetView(intposition,ViewcontextvView,ViewGroupparent){//TODOAuto-generatedmethodstubViewHolderholder;if(contextvView==null){//需要布局加载器加载一个视图文件//加载已经写好的布局文件为每个item显示视图holder=newViewHolder();//实例化内部类contextvView=layoutInflater.inflate(R.layout.listview_item,null);//视图//通过findview找到控件内部类存贮holder.mTime=(TextView)contextvView.findViewById(R.id.item_title);holder.mTitle=(TextView)contextvView.findViewById(R.id.textView1);contextvView.setTag(holder);//将view类设置成视图的tag对象绑定值到contextvView}else{holder=(ViewHolder)contextvView.getTag();//再次查找到布局中的每个控件}StringnTime=listdate.get(position).getMtime();StringnTitle=listdate.get(position).getMtitle();holder.mTime.setText(nTime);//初始化控件holder.mTitle.setText(nTitle);returncontextvView;//返回视图}//内部类存贮findview找到的控件暂时存贮控件classViewHolder{//添加属性TextViewmTime;TextViewmTitle;}

// ViewHolder 模式, 效率提高 50%