BaseAdapter getView() 和回收器实际上是如何工作的?

How does the BaseAdapter getView() and the recycler actually work?

这是我的困惑:我有一个带有 8 个相同 items.I 的列表视图,通过添加按钮一个一个添加。它会在 first.Totally 处新建 8 个 convertView,我添加 15 [=27] =] 当我在第 11 个项目出现时向下滚动时,它再次新建一个 convertView ..为什么它不只使用回收站的 convertView?


部分代码如下:

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        LayoutInflater layoutInflater = (LayoutInflater)this.mcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = layoutInflater.inflate(R.layout.city_item, parent, false);
        viewHolder = new ViewHolder();
        Log.d("test", "new one" + position);
        viewHolder.checkBox = (CheckBox)convertView.findViewById(R.id.checkbox);
        viewHolder.textView = (TextView)convertView.findViewById(R.id.tv_city);
        convertView.setTag(viewHolder);
    } else {
        viewHolder = (ViewHolder)convertView.getTag();
    }
}

照片如下:

ListView没有按照回收原则工作。为此,您可以使用 RecyclerViews。签出 here