@cacois запускает новый вопрос, но будет недействительным в просмотре списка.
я есть ListView с ArrayAdapter, содержащий строки с изображением и строкой. Это работало нормально, пока я не решил, что загрузка изображений должна была быть медленной, поэтому я не мог загрузить изображения перед отображением списка. Поэтому я начал загружать изображения в отдельном потоке, используяAsyncTask
.
Я был очень доволен результатом, пока не начал прокручивать список. Неправильные изображения были загружены, и это не похоже, что это вопрос изображения, получаемого через некоторое время. Если я попытаюсь отсортировать список, проблема пойдет действительно плохо, и ни одно из изображений не окажется в правом ряду.
Есть идеи, что я делаю не так?
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
ImageView imageView;
TextView textView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.drink_list_row, null);
}
Drink drink = allItems.get(position);
if (drink != null && v != null) {
imageView = (ImageView) v.findViewById(R.id.picture);
textView = (TextView) v.findViewById(R.id.drinkName);
imageView.setVisibility(View.GONE);
loadImageBitmap(drink, imageView);
textView.setText(drink.getName());
if (subItems != null && subItems.contains(drink)) {
textView.setVisibility(View.VISIBLE);
imageView.setVisibility(View.VISIBLE);
} else {
textView.setVisibility(View.GONE);
imageView.setVisibility(View.GONE);
}
}
return v;
}