0
我有一個應用程序,我採取的輸入,如沒有用戶,並填充一些修正名稱,電話...等方面的一個列表視圖。我使用了viewholder來優化我所有的列表視圖。所有的列表視圖都能正常工作,除了它加載用戶數據的列表視圖。Viewholder花費太多的時間來加載列表視圖
從你可以看到,第一個和最後行加載但不加載中間兩行採取了很多的時間來加載圖片。我提供給每一行的信息最初是相同的,留給用戶修改。這是我使用的代碼。
public View getView(final int position, View convertView,final ViewGroup parent)
{
View rowview = convertView;
if(rowview == null)
{
ViewHolder viewholder = new ViewHolder();
final LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowview = inflater.inflate(R.layout.list_skeleton_people_expenses, parent, false);
viewholder.tv1 = (TextView)rowview.findViewById(R.id.name);
viewholder.tv2 = (TextView)rowview.findViewById(R.id.destination);
viewholder.tv3 = (TextView)rowview.findViewById(R.id.start);
viewholder.tv4 = (TextView)rowview.findViewById(R.id.phno);
viewholder.rowview = rowview;
rowview.setTag(viewholder);
}
else
{
ViewHolder holder = (ViewHolder) rowview.getTag();
UserData temp = objects.get(position);
holder.tv1.setText(temp.name);
holder.tv2.setText("Destination: "+temp.loc);
holder.tv3.setText("Start: "+start);
String phone_txt = objects.get(position).phno;
phone_txt = "("+phone_txt.substring(0, 3)+") "+phone_txt.substring(3, 6)+"-"+phone_txt.substring(6, 10);
holder.tv4.setText(phone_txt);
}
return rowview;
}
static class ViewHolder
{
TextView tv1,tv2,tv3,tv4;
View rowview;
}
在此先感謝。
糟糕...多次查看代碼,但沒有意識到這個簡單的錯誤。感謝代碼和建議。 – daemon54