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