一直觉得这个东西没啥用setTag(),不过只要能用上 就是比较巧的了

在一个程序中呢 我有好多个button 我想点击一个出现1 点击第二个出现2

for (int i = 0; i < 20; i++) {     cells[i] = (ImageView) findViewById(cellIDs[i]);     cells[cellnumber++].setOnClickListener(new OnClickListener() {     public void onClick(View v){           cellClicked(cellnumber, v);        }     }); }

上面的代码效率不高 而且 无论点击哪一个都会出现21 当然这是我逻辑错误

那怎么实现呢

OnClickListener listener = new OnClickListener() {     public void onClick(View v) {         int cellId = (Integer) v.getTag();         cellClicked(cellId, v);     } }  View v; for (int i = 0; i < 20; i++) {     v = findViewById(cellIDs[i]);     v.setOnClickListener(listener);     v.setTag(i); } 

这样呢就实例话一个listener,同时通过tag传值就不是每一个实例都做了

更多相关文章

  1. Eclipse 下配置Android开发环境
  2. Android实现三级联动下拉框 下拉列表spinner的实例代码
  3. Android文本框实现搜索和清空效果
  4. Android(安卓)| 1. Fragment中使用SQLite实现简单存储及查询
  5. eclipse编译cocos2d-x2.2.6的Android
  6. [UE4.4.x] 虚幻4 安卓打包
  7. Android(安卓)程式开发:(九)使用活动栏 —— 9.3自定义ActionBar项
  8. ListView的OnItemClickListener事件被其内部Button点击事件屏蔽
  9. android studio编写运行java main的三种方法(亲测)

随机推荐

  1. [android]浅谈android的selector,背景选择
  2. 系出名门Android(1) - 在 Windows 下搭建
  3. Android(安卓)上SuperUser获取ROOT权限原
  4. android:padding和android:layout_margin
  5. Android公共库——图片缓存 网络缓存 下
  6. Android(安卓)UI开发第九篇——SlidingDr
  7. android编译系统分析
  8. android 量产软件改动信息(持续更新)
  9. Android上开发Android软件
  10. Android的Message机制(简单小结)