ListView点击展开布局出现重复布局的解决
来源:互联网 发布:数据口径不一致的意思 编辑:程序博客网 时间:2024/06/05 05:35
1.问题描述:
在使用ListView的时候,需求是点击item中的按钮,展开该item隐藏掉的布局。
但是点击之后,当数据一屏展示不下的时候,不仅点击的item的布局展开了,还有其它隐藏的布局也展开了。
2.问题分析:
参考:
http://www.cnblogs.com/3dant/archive/2011/04/06/2007060.html
当显示完一屏数据后,向上拉的时候第二屏数据中的控件实际是复用的上面的控件,若复用了显示出来的控件,则会出现布局重复。
3.问题解决:
在每次点击的时候,可以记录下当前点击的position,保存到List中。为控件赋值的时候,判断一下当前位置是否在List当中,若有,则显示,若没有,则隐藏掉。
4.核心代码:
@Override public View getView(final int position, View convertView, ViewGroup parent) { final ViewHolder viewHolder; Log.d("MyAdapter","getView==="+position+""); if(convertView == null){ convertView = View.inflate(mContext,R.layout.item_view,null); viewHolder = new ViewHolder(); viewHolder.tv_title = (TextView) convertView.findViewById(R.id.tv_title); viewHolder.btn_click = (Button) convertView.findViewById(R.id.btn_click); viewHolder.tv_content = (TextView) convertView.findViewById(R.id.tv_content); convertView.setTag(viewHolder); }else{ viewHolder = (ViewHolder) convertView.getTag(); } final Data data = mData.get(position); viewHolder.tv_title.setText(data.getTitle()); if(positionList.contains(position)){ viewHolder.tv_content.setVisibility(View.VISIBLE); viewHolder.tv_content.setText(data.getContent()); }else{ viewHolder.tv_content.setVisibility(View.GONE); } viewHolder.btn_click.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { viewHolder.tv_content.setVisibility(View.VISIBLE); viewHolder.tv_content.setText(data.getContent()); positionList.add(position); Log.d("MyAdapter","OnClick()" + position); } }); return convertView; }
0 0
- ListView点击展开布局出现重复布局的解决
- listView多布局出现ClassCastException的解决
- ListView点击Item展开隐藏项(单项展开、多项展开、复杂布局时的展开处理)
- ListView的Item不可点击和Item布局重复问题
- ListView布局、美化、点击
- Android中listview的item布局中button点击事件position混乱解决
- ListView动画展开布局 ExpandableLayout源码解析
- 解决布局点击事件穿透的问题
- 解决布局点击事件穿透的问题
- 布局中上面一个子布局,中间一个listview,下面一个edittext,解决edittext点击后输入法遮盖布局的问题
- 解决listview中出现重复的项
- 布局展开收缩的动画
- 我的电脑 布局出现问题 解决
- 2014-10-25Android学习------布局处理(四)------ListView的item点击之后的布局
- 动态添加重复布局以及各子布局点击事件
- 自定义listview的布局
- ListView里的布局
- listview的布局问题
- ios runtime Method Swizzling
- 简单看一下ROSPY
- Java中对于二维数组的clone
- ps抠图技巧
- maven项目编译跳过test命令
- ListView点击展开布局出现重复布局的解决
- express+mongoDB实现的博客系统
- 一些快捷键(持续补充)
- mybatis-config配置 介绍
- LWIP手记【A】arp高速缓冲区清零
- C/C++创建和删除文件夹操作
- 新年第四天
- mybatis--开发Dao--原始dao方式和Mapper代理方式
- 将博客搬至CSDN