都知道Adapter中的getView是为了返回listView的每个item
参数:
public View getView(final int position, View convertView, ViewGroup parent) {
为了节省效率 Android提供了第二个参数convertView为了帮助缓存view.
但是经过测试发现 这个缓存并不准确。
所以自己做了个缓存:
public View getView(final int position, View convertView, ViewGroup parent) { //Log.i(TAG,"getView " + position + " " + convertView); //缓存 String nowPosString = String.valueOf(position)+"_position"; View newCViewonvertView = viewHold.get(nowPosString); //map if(newCViewonvertView == null) { LayoutInflater _LayoutInflater = LayoutInflater.from(mContext); newCViewonvertView = _LayoutInflater.inflate(R.layout.item, null); //自行缓存view viewHold.put(nowPosString, newCViewonvertView); } return newCViewonvertView; }
完成。
如果有错请指点~ 有问题请留言~