如题 ...
------解决方案--------------------
重写getView,看看是否达到了你预期速度。
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder=new ViewHolder();
convertView = mInflater.inflate(R.layout.listmulti, null);
holder.name = (TextView)convertView.findViewById(R.id.txtperson);
holder.phonenumber = (TextView)convertView.findViewById(R.id.txtNumber);
holder.chkSelect = (CheckBox)convertView.findViewById(R.id.chkbox);
convertView.setTag(holder);
}else {
holder = (ViewHolder)convertView.getTag();
}
//holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));
holder.name.setText((String)mData.get(position).get("name"));
holder.phonenumber.setText((String)mData.get(position).get("phonenumber"));
}
private final class ViewHolder{
public TextView name;
public TextView phonenumber;
public CheckBox chkSelect;
}
------解决方案--------------------
嗯,看了那帖子了,我那代码大概180多个号码,滚动很流畅,没有卡顿情况。
------解决方案--------------------
listview中的滑动不会存在太多的问题。性能问题解决方法
1)复用view,不要每次new 新的view。
2)使getview里面的逻辑尽量简单,不要在里面每次都new对象。
3)不要用太复杂的布局,如果布局复杂的话,会影响效率(为会会创建view层次),此时,就直接写一个view,直接从view继承,界面完全自绘制。(这种效率是最高的,控制要复杂一点)