我知道回收視圖是新的,但我想知道2個代碼在列表視圖中有什麼區別。我已經嘗試過很多搜索,但沒有得到具體的答案。我知道第一個速度比第二個速度快,因爲內存消耗,但爲什麼第二個代碼很慢,那麼第一個內部進程是什麼,任何一個內部進程都可以。Listview適配器的2代碼有什麼區別getView方法
這是第一代碼
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final HashMap<String ,String > item = lst.get(position);
ViewHolderItem viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.shadow_request_row, parent, false);
viewHolder = new ViewHolderItem();
viewHolder.title = (TextView)convertView.findViewById(R.id.item_name);
viewHolder.msg = (TextView)convertView.findViewById(R.id.message);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolderItem) convertView.getTag();
}
viewHolder.title.setText(item.get(Const.USERNAME));
viewHolder.msg.setText(item.get(Const.GET_MESSAGE));
return convertView;
}
這是第二代碼
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final HashMap<String ,String > item = lst.get(position);
ViewHolderItem viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.shadow_request_row, parent, false);
viewHolder = new ViewHolderItem();
viewHolder.title = (TextView)convertView.findViewById(R.id.item_name);
viewHolder.msg = (TextView)convertView.findViewById(R.id.message);
}
viewHolder.title.setText(item.get(Const.USERNAME));
viewHolder.msg.setText(item.get(Const.GET_MESSAGE));
return convertView;
}
感謝您的非常詳細的答覆馬利斯Lakshan,但我對這個視頻的查詢請觀看它在這個視頻中,他們說這兩個代碼是正確的,但我不明白爲什麼第一個更快。請看這一個。 https://www.youtube.com/watch?v=wDBM6wVEO70 – Nitish