listView中item复用会出现显示异常
来源:互联网 发布:人工智能 硅基生命 编辑:程序博客网 时间:2024/05/29 19:49
listView中item复用时,会导致显示异常,在网上搜了一大圈,终于找到解决的方法了,激动啊,做个笔记。。。(给自己看的)
<span style="font-family: Arial, Helvetica, sans-serif;">class AddCityAdapter extends BaseAdapter{</span>
<span style="color:#ff0000;">//1.定义一个list用于保存操作过的item的下标位置</span> <span style="white-space:pre"></span>private List<Integer> mSelect = new ArrayList<Integer>();@Overridepublic Object getItem(int position) {return data.get(position);}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if (convertView == null) {convertView = View.inflate(DeleteCityActivity.this,R.layout.item_addcity, null);holder = new ViewHolder();holder.tgbtn_city_delete = (ToggleButton) convertView.findViewById(R.id.tgbtn_city_delete);holder.tgbtn_city_delete.setTag(""+position);holder.weatherDesc = (ImageView) convertView.findViewById(R.id.iv_city_weather);holder.cityName = (TextView) convertView.findViewById(R.id.tv_city_name);holder.tmp = (TextView) convertView.findViewById(R.id.tv_city_tmp);holder.btn_city_delete = (Button) convertView.findViewById(R.id.btn_city_delete);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.tgbtn_city_delete.setOnClickListener(new View.OnClickListener() {<span style="white-space:pre"></span>@Override<span style="white-space:pre"></span>public void onClick(View v) {<span style="white-space:pre"></span><span style="color:#ff0000;">//2.保存已操作过的item的下标位置</span> <span style="white-space:pre"></span>mSelect.add(new Integer(position));<span style="white-space:pre"></span>}<span style="white-space:pre"></span>});}
<span style="white-space:pre"></span><span style="color:#ff0000;">//3.<span style="font-family: Arial, Helvetica, sans-serif;">当item复用时就会重新调用此方法,因此可以在此判断</span><span style="font-family: Arial, Helvetica, sans-serif;">mSelect中是否有操作过的item</span></span>
if (mSelect.indexOf(position) > -1) {holder.tgbtn_city_delete.setChecked(true);}else{holder.tgbtn_city_delete.setChecked(false);}return convertView;}
0 0
- listView中item复用会出现显示异常
- Android中ListView复用导致其他Item显示异常
- listview中点击item出现选择框
- ListView中显示不同的item
- android listview 中 item显示表格样式
- ListView遍历每个Item出现NullPointerException的异常
- ListView遍历每个Item出现NullPointerException的异常
- ListView中嵌套ListView显示异常
- android ListView item 中放ListView 只显示一行解决办法
- listview item复用会造成显示不正确
- listview item显示特效
- Listview滑动过程中item出现数据错乱的解决方法
- 在ListView的Item中显示CheckBox与Button
- 2012-7-18 在ListView中显示不同的ITEM
- ListView中item progressbar显示混乱的问题
- listview中显示两种不同的item
- 解决ListView中只显示一个item问题
- 不同布局的Item在listView中显示
- python列表基本操作(python2x版本)
- Linux权限管理(基本权限、默认权限、
- linux 下目录的操作
- 2016 UESTC Training for Data Structures C -> 卿学姐与诡异村庄 CDOJ 1328 并查集
- 【杭电1722】Cake
- listView中item复用会出现显示异常
- 浏览器加载、解析、渲染的过程
- oracle系统结构的认识
- POJ 1236 Network of Schools (强连通分量tarjan)
- MSP430的AD采集程序
- SVM公式推导
- 两种构建位图的方式
- Hyper-V双网卡的正确设置
- 【t077】宝物筛选