巧用android setTag()
16lz
2021-01-26
一直觉得这个东西没啥用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传值就不是每一个实例都做了
更多相关文章
- Eclipse 下配置Android开发环境
- Android实现三级联动下拉框 下拉列表spinner的实例代码
- Android文本框实现搜索和清空效果
- Android(安卓)| 1. Fragment中使用SQLite实现简单存储及查询
- eclipse编译cocos2d-x2.2.6的Android
- [UE4.4.x] 虚幻4 安卓打包
- Android(安卓)程式开发:(九)使用活动栏 —— 9.3自定义ActionBar项
- ListView的OnItemClickListener事件被其内部Button点击事件屏蔽
- android studio编写运行java main的三种方法(亲测)