android gridview不显示 自定义,Android开发—解决自定义GridView高度第一个item高度异常问题...

问题描述:

在写之前,先把问题的图贴出来,问题如下图,GridView的第一个item的自定义高度显示不正常(再次加载之后又正常),不是预设的高度:

c56556c59eec92a00d8c923f0a5b393b.png

解决方法:

首先需要申明,这个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;

}

再贴上解决后的效果图:

c2680a15c4311ea376d9a3399703eccd.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值