您好,登錄后才能下訂單哦!
問題描述:
在寫之前,先把問題的圖貼出來,問題如下圖,GridView的第一個item的自定義高度顯示不正常(再次加載之后又正常),不是預設的高度:
解決方法:
首先需要申明,這個GridView 的適配器用的是BaseAdapter,在定義適配器的getView方法中,主要注意代碼中/***********/標記的地方,下面貼出我的getView方法:
public View getView(int position, View convertView, ViewGroup parent) { GirdHolder holder; if(convertView == null){ holder = new GirdHolder(); convertView = LayoutInflater.from(getApplication()).inflate(R.layout.gridview_item, null); //set item's height GridView.LayoutParams param = new GridView.LayoutParams( android.view.ViewGroup.LayoutParams.MATCH_PARENT,(gvList.getHeight()-(1+level)*16)/level); convertView.setLayoutParams(param); holder.imgView = (ImageView) convertView.findViewById(R.id.p_w_picpath); convertView.setTag(holder); }else{ holder = (GirdHolder) convertView.getTag(); //fix the problem of first item's height is not normal /******************一定要把設置高度的代碼再寫在這個位置******************************/ convertView.setLayoutParams(new GridView.LayoutParams( android.view.ViewGroup.LayoutParams.MATCH_PARENT,(gvList.getHeight()-(1+level)*16)/level)); /************************************************/ } if(status[position] == 0){ holder.imgView.setImageResource(R.drawable.smile_yellow); }else{ holder.imgView.setImageResource(R.drawable.smile_bule); } return convertView; }
再貼上解決后的效果圖:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。