Listview items Animation Stop While Scrolling

后端 未结 3 1966
旧时难觅i
旧时难觅i 2021-02-13 03:26

I am trying to show ProgressBar with a simple animation for each ListView item, but when I am scrolling, the ProgressBar animation stops.

相关标签:
3条回答
  • 2021-02-13 03:54

    I used This Syntax in my Adapter And problem solved !

    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) {
    
    }
    

    }

    Thank You.

    0 讨论(0)
  • 2021-02-13 04:11

    you must use animation in getView() and set animation for convertView example :

    @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;
    }
    
    0 讨论(0)
  • 2021-02-13 04:14

    It is stopping because getview is called again and again when list items are visible thus resetting the view to avoid any frame skips/lag on the devices..

    what you need to do is to create a view holder with boolean and set it as a tag to the view.. each time is it animating boolean should be true and false when it stops.. so when getview is called your progressbar animation is still starting or stopping depending on the boolean..

    0 讨论(0)
提交回复
热议问题