0
这里是我的困惑:我有一个listview有8个相同的项目。我通过添加按钮逐个添加。并且它会首先新增8个convertView。最后,我添加了15个项目。但是当我向下滚动时,第11个项目出现了,它再次新建一个convertView ..为什么它不仅仅使用来自回收站的convertView?BaseAdapter getView()和回收器是如何工作的?
这里有代码的部分:
@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();
}
}
下面是图片:
我见过一些关于convertView重复使用的表演,但他们没有提到回收机构是如何工作的。 – thirtvanke