解决GridView动态设置宽高导致第一个item点击不响应或显示不正常问题
2014-12-12 23:18
627 查看
最近做项目的时候遇到了2次这个问题,现在分享一下经验
一、问题
问题代码:
具体症状
1、第一个Item的View显示不全,总是显示一半,其他的Item没有问题,如论怎么设置都没用
2、第一个Item里面设置的点击事件不管用,但是轻轻的滚动一下点击事件立马就生效了。
解决办法:
一、问题
问题代码:
</pre><p><pre name="code" class="java">@Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub final ViewHolder holder; final Light light = beans.get(position); if (convertView == null) { holder = new ViewHolder(); convertView = inflater.inflate(R.layout.lo_light_item, null); holder.tvName = (TextView) convertView .findViewById(R.id.tv_light_item); holder.image = (ImageView) convertView .findViewById(R.id.iv_light_item); holder.ly = (LinearLayout) convertView .findViewById(R.id.ly_light_item); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } <pre name="code" class="java">// 设置单个item宽高 holder.ly .setLayoutParams(new GridView.LayoutParams( WindowManager.LayoutParams.FILL_PARENT, gv .getHeight() / 4));return convertView;}
具体症状
1、第一个Item的View显示不全,总是显示一半,其他的Item没有问题,如论怎么设置都没用
2、第一个Item里面设置的点击事件不管用,但是轻轻的滚动一下点击事件立马就生效了。
解决办法:
<pre name="code" class="java">@Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub final ViewHolder holder; final Light light = beans.get(position); if (convertView == null) { holder = new ViewHolder(); convertView = inflater.inflate(R.layout.lo_light_item, null); holder.tvName = (TextView) convertView .findViewById(R.id.tv_light_item); holder.image = (ImageView) convertView .findViewById(R.id.iv_light_item); holder.ly = (LinearLayout) convertView .findViewById(R.id.ly_light_item); // 设置单个item宽高 holder.ly .setLayoutParams(new GridView.LayoutParams( WindowManager.LayoutParams.FILL_PARENT, gv .getHeight() / 4)); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } return convertView; }
相关文章推荐
- 【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题
- 【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题
- 【Android疑难杂症】GridView动态设置Item的宽高导致第一个Item不响应或显示不正常的问题
- GridView设置Item高度,解决第一个item显示不正常以及事件不响应的问题
- Android GridView之添加分隔线,动态设置高度,实现高度自适应,并解决第一个item不显示的问题
- Android GridView之实现单元格合并,以及第一个item点击无响应或显示不正常的解决方案
- GridView动态设置Item的宽高 第一个Item显示不正常
- GridView动态设置Item的宽高 第一个Item不显示的问题
- GridView动态设置Item的宽高 第一个Item不显示的问题
- GridView动态设置Item的宽高 第一个Item不显示的问题
- GridView 自定义Item大小的时候第一个Item显示不正常的解决办法
- android的GridView的第一个item(图片)出现显示不正常(多出固定区域一部分蓝色边框)。解决方法
- GridView动态设置条目宽高,第一个条目显示不清晰或不完整的问题
- android 自定义ListView 使其带单选框按钮,并解决item点击不响应的问题
- 解决Android当中GridView的Item子控件中有ImageView图片大小不一致问题,动态设置ImageView控件大小
- 解决Universal Image Loade点击GridView中的Item出现屏幕闪烁问题
- 解决Listview中Item中控件设置点击事件而Item点击事件失效问题
- 关于FusionCharts图表宽度width的设置问题导致图表显示异常的解决办法
- 关于FusionCharts图表宽度width的设置问题导致图表显示异常的解决办法
- Android ListView的item背景色设置和item点击无响应的解决方法