持有人 vs RecylerView.ViewHolder

Holder vs RecylerView.ViewHolder

我有 ListViewAdapter,也用 holder。但后来我读到 recyclerView.ViewHolder 并且现在很困惑,它与我现在一直在使用的那个不同吗?我的意思是出于优化目的,我想知道如果不使用 recyclerView.

仅使用 holder 是否不够好
    public class NewsAdapter extends ArrayAdapter<News> {

    Context context;
    List<News> myList;

    public NewsAdapter(Context context, int resource, List<News> objects) {
        super(context, resource, objects);

        this.context = context;
        this.myList = objects;
    }



    @Override
    public News getItem(int position) {
        if(myList != null)
            return myList.get(position);
        return null;
    }

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

        Holder holder;

        if (convertView == null){

            LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);


            convertView = inflater.inflate(R.layout.list_news, null);

              holder = new NewsAdapter.Holder();

            holder.title = (TextView)convertView.findViewById(R.id.textViewTitle);
            holder.datePosted = (TextView)convertView.findViewById(R.id.textViewDate);
            holder.imageView = (ImageView)convertView.findViewById(R.id.imageViewThumbnailpic);

            convertView.setTag(holder);

        }else{

             holder = (Holder)convertView.getTag();

        }


        News news = getItem(position);

        holder.title.setText(news.getTitle());
        holder.datePosted.setText(news.getDatePost());

        Picasso.with(context)
                .load(news.getImgUrl())
                .placeholder(R.drawable.coin25)
                .error(R.drawable.hnbspic)
                .into(holder.imageView);

        return convertView;
    }

    private class Holder{

        ImageView imageView;
        TextView title;
        TextView datePosted;


    }
}

最好使用 Recyclerview,因为它已针对各种场景进行了优化,而不仅仅是针对 View holder 模式,例如它提供了确定项目应如何布局的选项,或者喜欢动画或自定义绘图应该是什么每个 item.You 可以阅读更多 this 中等 post