Элементы списка просмотра Анимация Стоп Во время прокрутки

Я пытаюсь показать ProgressBar простой анимацией для каждого элемента ListView, но при прокрутке анимация ProgressBar останавливается. После прокрутки анимация начинается снова. См. Изображение ниже.

Link

Ответ 1

Я использовал этот синтаксис в своем адаптере, и проблема решена!

public class AdapterDownload extends ArrayAdapter<StructDownload> {

public AdapterDownload(ArrayList<StructDownload> array) {
    super(G.context, R.layout.item_layout, array);
}


private static class ViewHolder {

    public ViewHolder(View view)
    {

    }


    public void fill(final ArrayAdapter<StructDownload> adapter, final StructDownload item, final int position)
    {

    }
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {

}

}

Спасибо.

Ответ 2

вы должны использовать анимацию в getView() и установить анимацию для convertView Пример:

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;

    StructureArticles item = getItem(position);
    if (convertView == null) {
        convertView = G.inflater.inflate(R.layout.adapter_articles, parent, false);
        holder = new ViewHolder(convertView);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.fill(this, item, position);
    Animation animationListView = AnimationUtils.loadAnimation(context, R.anim.scale_fade_in);
    convertView.startAnimation(animationListView);

    return convertView;
}

Ответ 3

Это останавливается, потому что getview вызывается снова и снова, когда элементы списка видны, таким образом, сброс представления, чтобы избежать пропусков/отставаний кадров на устройствах.

то, что вам нужно сделать, - создать держатель вида с булевым и установить его как тег в представление.. каждый раз он оживляет логическое значение должно быть истинным и ложным, когда оно останавливается.. поэтому, когда getview называется вашей панелью прогресса анимация все еще запускается или останавливается в зависимости от логического значения.