- 浏览: 411554 次
文章分类
- 全部博客 (327)
- Android (114)
- Java (13)
- Java基础 (14)
- Glib (2)
- linux (15)
- extjs (5)
- eclipse (2)
- Asterisk (56)
- MYSQL (6)
- 数据库 (9)
- PHP (7)
- C# (18)
- 杂谈~~ (1)
- web开发前端 (3)
- 网络编程 (2)
- Opensips (2)
- voip (3)
- debian (7)
- openfire (15)
- wordpress (1)
- 版本控制 (1)
- Android 线程服务广播 (1)
- SRTP (2)
- 单片机及ARM等 (3)
- 基础知识 (5)
- asp.net (2)
- 单片机 (1)
- 设计模式及架构 (1)
- 安全 (1)
- Cubieboard 草莓树莓各类派 Android开发板 (1)
- J2EE (2)
- BootStrap (3)
- BootStrap web前端开发 (1)
- web前端开发 (4)
- object-c (1)
- openwrt (8)
- 智能家居 (4)
- Node.js (4)
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
写一个自定义的Adapter用来绑定ListView,在重写getView的时候发现网上参考代码有用到setTag()和getTag()两个函数,百度找不到答案,google一搜就知道了,:P View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。 可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button1 = (Button) findViewById(R.id.Button01); Button button2 = (Button) findViewById(R.id.Button02); Button button3 = (Button) findViewById(R.id.Button03); Button button4 = (Button) findViewById(R.id.Button04); MyListener listener = new MyListener(); button1.setTag(1); button1.setOnClickListener(listener); button2.setTag(2); button2.setOnClickListener(listener); button3.setTag(3); button3.setOnClickListener(listener); button4.setTag(4); button4.setOnClickListener(listener); } public class MyListener implements View.OnClickListener { @Override public void onClick(View v) { int tag = (Integer) v.getTag(); switch (tag) { case 1: System.out.println("button1 click"); break; case 2: System.out.println("button2 click"); break; case 3: System.out.println("button3 click"); break; case 4: System.out.println("button4 click"); break; } } } }
发表评论
-
直接拿来用!最火的Android开源项目整理
2015-09-16 10:13 600一、代码库 1、from 代码家 整理比较好的源 ... -
探讨android更新UI的几种方法
2014-06-09 23:27 614今天讲的内容非常简单,只是讲讲有关于android界面更新的 ... -
Android 滑动切换页面 以及屏幕手势
2014-05-08 17:49 525手机进入智能机时代,触摸屏也已成为主流之势,原来的手机按键也 ... -
android 用Achartengine 作图
2014-05-08 16:55 759Achartengine 是google的一 ... -
Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
2014-05-08 16:28 768Animation的4个基本动画效果 What is An ... -
java.lang.ClassNotFoundException: Didn't find class "android.support.v4.view.Vie
2014-05-06 14:43 2931Android错误:Caused by: java.lang ... -
Android Socket通信如何设置超时时间
2014-05-06 14:14 1078其实关于这个问题可能用到的人不会很多,不过我在这里还是说说。 ... -
【转】Android本地语音识别引擎PocketSphinx-语言建模
2014-02-13 10:35 1829Android本地语音识别引擎PocketSphinx- ... -
关于build.prop原始Dalvik虚拟机设定与调整
2013-09-05 10:40 1260原厂S3 台版 1GB Ramsystem/build.pro ... -
Android中Service与IntentService的使用比较
2013-09-04 15:24 1202该博客来自网络——— ... -
android 应用程序Activity之间数据传递与共享的几种途径
2013-08-01 17:24 9051.基于消息的通信机制 Intent ---boud ... -
android数据通信方式
2013-08-01 17:15 911http://www.itkee.com/develope ... -
“android.intent.category.DEFAULT”的目的是什么?
2013-07-31 16:43 5381、要弄清楚这个问题,首先需要弄明白什么是implicit( ... -
集成拨号盘,2句话的事情
2013-07-30 15:45 601<intent-filter> < ... -
Android TabHost动态加载内容总结
2013-07-25 17:49 953前面用继承TabActivity的方法很好的完成了,TabHo ... -
[Android实例] android json
2013-07-17 15:20 653import java.io.ByteArrayOutput ... -
android json解析及简单例子
2013-07-17 15:19 931JSON的定义: 一种轻量级的数据交换 ... -
AsyncTask的用法-UI刷新发放
2013-07-15 14:50 665在开发Android应用时必须遵守单线程模型的原则: A ... -
java.lang.OutOfMemoryError处理错误
2013-07-15 14:41 671java.lang.OutOfMemoryError异常解决 ... -
关于android.view.WindowLeaked异常的解决方案
2013-07-15 10:34 613Android.view.WindowLeaked按字面了解, ...
相关推荐
在阅读博客“android setTag()和getTag()的使用”(http://blog.csdn.net/yelangjueqi/article/details/9666037)时,你可以找到更多关于这两个方法的实际应用和深入解析。通过实践和理解这些知识,你的Android开发...
You won't need to write ViewHolder, createView, setTag, getTag, and confuse how to setOnItemClickListener to RecyclerView, etc. The only thing you really need to do is that implement a method onBind...
在Android开发中,`setTag()` 是一个非常实用的方法,它允许开发者在 `View` 对象中存储自定义的数据,这对于优化性能和传递参数有着重要的作用。本文将深入探讨 `setTag()` 的使用方法,以及如何解决 "The key must...
首先,`Tag`的基本用法是在创建或者获取View时通过`setTag()`和`getTag()`方法进行设置和读取。例如,你可能在一个ListView中,为每个列表项设置一个唯一的`Tag`,这样在点击事件处理中,可以通过`getTag()`快速获取...
android在设计View类时,为了能储存一些辅助信息,设计一个一个setTag/getTag的方法。这让我想起在Winform设计中每个Control同样存在一个Tag。 今天要说的是我最近学习android遇见的setTag的坑。一般情况下我们只...
当我们为ImageView设置tag时,可以是字符串、整数、自定义对象等,然后在需要的时候通过`getTag()`方法获取它。 以下是几种在Android中为ImageView添加标签的方法: 1. **直接设置Tag**:使用`setTag()`方法可以...
在Android开发中,`setTag()` 和 `getTag()` 方法是View类中非常实用的工具,它们允许开发者在不创建额外对象的情况下存储和检索数据。这些方法尤其在处理视图复用,比如在ListView或RecyclerView中,对于节省内存和...
- 使用setTag()和getTag()方法将数据对象与View关联,或者使用ButterKnife、DataBinding等库实现数据绑定。 6. **优化ListView**: - 使用ViewHolder模式,缓存Item的View,减少findViewById()的调用次数,提高...
viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.textView.setText(dataList.get(position)); // 设置其他视图属性... return convertView; } ``` ### 性能优化 1. **复用convertView**:...
在Android开发中,自定义`View`对话框是一种常见的需求,尤其当系统默认的`AlertDialog`无法满足我们对界面布局和交互的个性化要求时。本文将深入探讨如何创建一个自定义`View`对话框,以及如何实现不同类型的列表项...
接下来,我们可以在Adapter中利用View的`setTag()`和`getTag()`方法来存储和检索每个条目的选中状态。`setTag()`可以将任何对象绑定到View,而`getTag()`则用来获取之前设置的对象。例如,我们可以在`getView()`方法...
此外,`setTag()`和`getTag()`方法可以用来存储和检索附加数据,这对于实现特定功能或者区分不同的View实例非常有用。 在SRV1.2项目中,可能还涉及到了自定义View的开发。自定义View通常需要重写`onDraw()`方法,...
headerViewHolder = (HeaderViewHolder) convertView.getTag(); } // 设置头部View的内容 ... return convertView; } else { // 创建或复用正常的列表项View ... } } ``` 接下来,我们需要处理ListView的...
viewHolder = (ViewHolder) view.getTag(); } viewHolder.radioButton.setId(position); viewHolder.radioButton.setOnCheckedChangeListener(null); // 防止重复点击事件 viewHolder.radioButton.setChecked...
`convertView.setTag()`和`convertView.getTag()`用于存储和恢复ViewHolder对象。 接下来,我们谈谈接口回调。在ListView中,我们经常需要在用户与列表项交互时执行某些操作,如点击事件。这时,我们可以定义一个...
在Android中,Tag是作为一个字符串键值对存储在View对象的`setTag()`和`getTag()`方法中。它可以是任何类型的数据,但通常以字符串形式存在,因为字符串是最通用且易于理解和检索的。 **Tag的主要用途:** 1. **...
viewHolder = (ViewHolder) convertView.getTag(); } // 从数据模型中获取当前位置 int savedLeft = getItemPosition(position).getLeft(); int savedTop = getItemPosition(position).getTop(); // 设置...
ItemData itemData = (ItemData) view.getTag(); itemData.setQuantity(itemData.getQuantity() + 1); adapter.notifyDataSetChanged(); } public void onDecreaseClick(View view) { ItemData itemData = ...
viewHolder = (ViewHolder) view.getTag(); } viewHolder.radioButton.setText(dataList.get(position)); viewHolder.radioButton.setOnCheckedChangeListener(null); // 防止重复点击时选中状态混乱 ...