都知道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