问题描述:

在写之前,先把问题的图贴出来,问题如下图,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.image);

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;

}

再贴上解决后的效果图:

android gridvie item,Android开发―解决自定义GridView高度第一个item高度异常问题相关推荐

  1. Android开发:自定义GridView/ListView数据源

    http://mobile.51cto.com/android-259861.htm 在开发中,我们常常会遇到比较复杂的GridView/ListView的布局,重新实现BaseAdapter不但能帮 ...

  2. Android应用插件式开发解决方法[转]

    一.现实需求描述 一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块.此时可能就需要考虑如何分 ...

  3. android listview中item倒计时,GitHub - TangAnna/ListViewTimer: 列表中每一个item都有计时器 (可实现倒计时或者计时器的功能)...

    ListViewTimer 列表中每一个item都有计时器 (可实现倒计时或者计时器的功能) 项目中有时会遇到列表中含有倒计时或者是计时器的需求,实现的方式有很多种,此Demo中是使用Thread + ...

  4. 从tabBarController的一个item上的控制器跳转到另一个item上的控制器

    先从习惯性的tabBarController开始,很多应用的外框都是用这个开始的,而从tabBarController的一个item上的控制器跳转到另一个上的,往往都是直接通过点击tabBar上的不同 ...

  5. Android应用插件式开发解决方法

    一.现实需求描述 一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块.此时可能就需要考虑如何分 ...

  6. android 瀑布流 空白,Android瀑布流优化,解决Recyclerview展示大批量图片时Item自动切换、闪烁、空白等问题...

    本文涉及的代码案例可以在下方的链接中找到,如果对你有帮助,请给个Star(#^.^#) 问题分析 这段时间业务需求用到RecyclerView瀑布流加载并展示大批量图片,但一开始单纯使用Recycle ...

  7. 开发 Spring 自定义视图和视图解析器

    Spring 视图和视图解析器简介 什么是 Spring 视图和视图解析器 Spring MVC(Model View Controller)是 Spring 中一个重要的组成部分,而 Spring ...

  8. android gridview控件使用详解_Android开发实现自定义日历、日期选择控件

    点击上方蓝字关注 ?? 来源: wenzhihao123 https://www.jianshu.com/p/a2f102c728ce 前言 最近项目需要日历效果,考虑用第三方的反而不太适合设计需求, ...

  9. android gridview item 点击,Android-取消GridView/ListView item被点击时的效果

    方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...

最新文章

  1. micropython stm32f103_micropython
  2. Linux服务器上挂载window本地iso镜像文件的方法。
  3. android 浏览器源码分析,从源码出发深入理解 Android Service
  4. [转]int.ToString()输出不同格式的数字字符串
  5. G面经prepare: Pattern Match
  6. 你要知道动机何在吗?
  7. 容量法和库仑法的异同点_快速搞懂「活性污泥法」,主要把握这4点!
  8. linux中软件包管理
  9. python加密模块教程_Python加密模块的hashlib,hmac模块使用解析
  10. Linux内核深入理解系统调用(1):初始化-入口-处理-退出
  11. 神经网络在游戏中的应用,神经网络控制应用实例
  12. ios 扫描本地音乐_iOS如何获取本地的音乐歌曲mp3的信息数据
  13. 这套Github上40K+star面试笔记,可以帮你搞定95%以上的Java面试
  14. 【微信H5】分享出去是链接,不是卡片的原因及解决方案
  15. “杜拉拉思维模式”之五:面试礼仪速成
  16. tensorflow入门教程(三十五)facenet源码分析之MTCNN--人脸检测及关键点检测
  17. 【学习笔记】大三集中实训做的一个微信小程序之点餐系统(静态页面不包含java后台逻辑)
  18. Angular Material 学习笔记 Chips
  19. 小学数学考试系统java_C语言项目小学生数学考试系统参考
  20. QT 中Socket客户端与服务器异常断开后重连

热门文章

  1. Unity Physics.Raycast踩坑
  2. Angular 启动项目时 port 4200 is already in use 解决方法
  3. 过去一年,被我们“高估”的技术清单
  4. 图像滤镜艺术---(Instagram)1977滤镜
  5. PMC联手云合作伙伴Canonical加入其Ubuntu OpenStack互通性实验室
  6. linux源代码剖析之二boot
  7. 综合后端各种类型文件
  8. shell 编程基础
  9. 三维点云学习(4)7-ransac 地面分割+ DBSCAN聚类比较
  10. 拟合三维点平面matlab程序