listview中glide加载网络图片跳跃问题

来源:互联网 发布:爱斯曼网络 编辑:程序博客网 时间:2024/05/22 08:27

当界面上滑快要接触到imageview的底部时 触发glide加载图片 加载完成时就会被拉到图片的顶端的问题。

第一次写博客 可能表达的都会很奇怪吧,记录一下这个遇到的问题。

百度找了一些方法 设置tag什么的 无果。想起来这是因为加载图片时,imageview的高度是warp_content,所以加载完成后会改变位置,所以就干脆让他不要复用,这样就不会一直加载了。挺蠢的一个方法,很暴力。

主要就是在adapter中弄一个list<view> 然后把每次new出来的convertview都放进去,当getview时,判断想要get的view是否在list里,存在的话就直接return出去,不存在的话就new一个然后放到list里面。

贴代码吧。只贴出主要相关代码

public class Myadapter extends BaseAdapter {        private List<View> viewlist;  //这个        public Myadapter(List<Article> date, Context context){            this.date = date;            this.context = context;            inflater = LayoutInflater.from(context);            viewList = new ArrayList<>(); //记得new        }        public View getView(int position, View convertView, ViewGroup parent) {            //根据position和viewlist的size判断是否该view已经存在            if(position == viewList.size()){                //这是 需要new的情况                //在这里new一个convertview 并设置他里面的各种属性 包括图片                                // 最后把convertview加到viewlist里 并return回去                return convertView;            }else if(position < viewList.size()){                //这是 在viewlist里面已经有了的情况                return viewList.get(position);            }            return null;        }
}
 
原创粉丝点击