都知道Adapter中的getView是为了返回listView的每一个itemjava
参数:缓存
public View getView(final int position, View convertView, ViewGroup parent) {
为了节省效率 Android提供了第二个参数convertView为了帮助缓存view.ide
可是通过测试发现 这个缓存并不许确。测试
因此本身作了个缓存:spa
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; }
完成。get
若是有错请指点~ 有问题请留言~it