У меня возникла неясная проблема, связанная с переработкой представлений в методе getView адаптера адаптера.Переработка видов в адаптере адаптера: как именно это обрабатывается?
Я понимаю, что элементы используются повторно, но как я могу точно знать, что реализовать в первой части инструкции if, а что во втором?
Сейчас у меня есть следующий код. Я пришел к этому вопросу из-за удаления кода во второй части инструкции, которая приводит к списку первых 9 элементов, которые повторяются число раз, а не все элементы. Я действительно не знал, что именно вызывает это ...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
title = getItem(position).getTitle();
size = calculateFileSize(position);
txtTitle = (TextView) row.findViewById(R.id.txtTitle);
tvFileSize = (TextView) row.findViewById(R.id.tvFileSize);
txtTitle.setText(title);
tvFileSize.setText(size);
} else {
title = getItem(position).getTitle();
size = calculateFileSize(position);
txtTitle = (TextView) row.findViewById(R.id.txtTitle);
tvFileSize = (TextView) row.findViewById(R.id.tvFileSize);
txtTitle.setText(title);
tvFileSize.setText(size);
}
return row;
}
Спасибо всем за быстрое и хорошее объяснение ! Получил некоторое чтение/наблюдение, чтобы сделать :) Очень ценю это! –
Возможный дубликат [почему работает ViewHolder pattren?] (Http://stackoverflow.com/questions/5973917/why-does-the-viewholder-pattren-work) –