首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在同一对象上调用setTag()和getTag()时,它们具有不同的值

在同一对象上调用setTag()和getTag()时,它们具有不同的值。

setTag()和getTag()是一对用于在编程语言中给对象添加标记和获取标记值的方法。标记可以用来对对象进行分类、标识或添加额外的属性信息。

当调用setTag()方法时,可以将一个特定的值设置为对象的标记。这个值可以是任何类型的数据,例如一个整数、字符串、布尔值等。设置标记的目的是为了在后续的操作中可以通过getTag()方法获取这个标记的值。

然而,尽管setTag()和getTag()是在同一对象上调用的方法,但它们实际上是独立的操作。也就是说,调用setTag()方法设置的标记值并不直接影响getTag()方法获取的标记值。

这种情况可能会发生在以下几种情况下:

  1. 多线程环境:如果多个线程同时对同一个对象进行setTag()和getTag()操作,由于线程执行的顺序不确定,可能会出现setTag()方法还没有执行完毕,getTag()方法就已经开始执行的情况。这样就导致getTag()方法获取的是setTag()之前的旧值,而不是最新设置的值。
  2. 对象属性的更新:在某些编程语言中,对象的属性值可能会被直接更新而不需要通过方法调用。如果在对象属性被更新之后,再调用getTag()方法获取标记值,那么获取的就是更新之前的旧值。

因此,在使用setTag()和getTag()方法时,需要注意调用它们的顺序和所在的上下文环境,以确保获取到的标记值是最新的。

腾讯云相关产品:在腾讯云中,您可以使用云服务器(CVM)来部署和管理您的应用程序。您可以使用标签(Tag)功能来对云服务器进行分类和管理。通过为云服务器设置标签,您可以方便地对云服务器进行搜索、排序和筛选,以及进行资源的分组和组织。您可以在腾讯云官网中了解更多关于云服务器(CVM)和标签(Tag)功能的详细信息。

产品链接:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于 HTML5 结合互联网+电力接线图

前言  “互联网+”思维让数据搜集获取更加便捷,并且随着大数据深度开发应用,数据分析预测对于提升用户体验有非常重要价值,同时也为不同行业、不同领域合作提供了更广阔空间。...绑定格式很简单,只需将以前参数值用一个带 func 属性对象替换即可,func 内容有以下几种类型: function 类型,直接调用该函数,并传入相关 Data view 对象,由函数返回决定参数值...data 对象函数名调用 data.... HT 中,一般建议 id 属性由 HT 自动分配,用户业务意义唯一标示可存在 tag 属性,通过 Data#setTag(tag) 函数允许任意动态改变 tag , 通过 DataModel#... setTag 来获取设置 "image": "symbols/隧道用图标/交通灯/灯/灯-红.json",//图片 引用路径为相对路径 这边调用“红灯”图标的 json 文件

1.1K20
  • 基于 HTML5 电力接线图 SCADA 应用

    ,这样 GraphView 组件图元缩放都不会失真,并且不再需要为 Retina 显示屏提供不同尺寸图片,  devicePixelRatio 多样化移动时代, 要实现完美的跨平台,矢量可能是的最低成本解决方案...绑定格式很简单,只需将以前参数值用一个带 func 属性对象替换即可,func 内容有以下几种类型: function 类型,直接调用该函数,并传入相关 Data view 对象,由函数返回决定参数值...data 对象函数名调用 data.... HT 中,一般建议 id 属性由 HT 自动分配,用户业务意义唯一标示可存在 tag 属性,通过 Data#setTag(tag) 函数允许任意动态改变 tag , 通过 DataModel#... setTag 来获取设置 "image": "symbols/隧道用图标/交通灯/灯/灯-红.json",//图片 引用路径为相对路径 这边调用“红灯”图标的 json 文件

    1.5K30

    基于 HTML5 电力接线图 SCADA 应用

    ,这样 GraphView 组件图元缩放都不会失真,并且不再需要为 Retina 显示屏提供不同尺寸图片, devicePixelRatio 多样化移动时代, 要实现完美的跨平台,矢量可能是的最低成本解决方案... position 位置, 则 GraphView Graph3dView 相应图元位置会自动同步变化。...绑定格式很简单,只需将以前参数值用一个带 func 属性对象替换即可,func 内容有以下几种类型: function 类型,直接调用该函数,并传入相关 Data view 对象,由函数返回决定参数值...data 对象函数名调用 data.... HT 中,一般建议 id 属性由 HT 自动分配,用户业务意义唯一标示可存在 tag 属性,通过 Data#setTag(tag) 函数允许任意动态改变 tag , 通过 DataModel#

    1.5K20

    Android设计模式之Builder模式解析

    今天我们要讲的是Builder模式(建造者模式) 定义 将一个复杂对象构建和它表示分离,使得同样构建过程可以创建不同表示 使用场景 当初始化一个对象特别复杂,如参数多,且很多参数都具有默认...相同方法,不同执行顺序,产生不同事件结果 多个部件或零件,都可以装配到一个对象中,但是产生运行效果又不相同时 产品类非常复杂,或者产品类中调用顺序不同产生了不同作用,这个时候使用建造者模式非常合适...使用例子 AlertDialog universal-image-loader 实现 实现要点 简言之,就是把需要通过set方法来设置多个属性封装在一个配置类里面 每个属性都应该有默认...具体set方法放在配置类内部类Builder类中,并且每个set方法都返回自身,以便进行链式调用 实现方式 下面以我们图片加载框架ImageLoder为例来看看Builder模式好处 未采用....setLoadingPlaceholder(R.drawable.loading) .create(); ImageLoader.getInstance().init(config); 总结 构建对象需要很多配置时候可以考虑

    56410

    Android滑动解锁功能实现,Android_滑动解锁

    ArrayList dotsList; ArrayList lineTagsList; ArrayList selectedList; int tag; //保存⼀次被点亮对象 ImageView...password.append(selected.getTag()); //将点亮点添加到数组中 selectedList.add(selected); } else{ //不是第⼀个点 //获取...⼀个点当前点tag int lTag = (Integer) lastSelectedDot.getTag(); int cTag = (Integer) selected.getTag(); //...创建横线、竖线斜线,给它们添加两位数tag(每条线连接两个点,两个点tag数组成线tag两位,大组成tag个位数)。...手指在两个点间滑动,两个点tag组成一个两位数(两个点小tag组成十位,大组成个位),遍历所有的线tag,判断是否有与这个两位数相同tag,有则点亮该线。

    1.2K10

    android动态拼接生成界面 ,大量界面

    不知道各位小伙伴开发应用客户端时候有没有碰到过这样需求,就是需要在app端维护大量表数据。 一般应用可能需要客户端上传数据时候 就几张表或者几个功能,但是大量表格就很复杂。...对  是400多张,而且没有任何规律,字段什么都不一样,之前有个房建系统做了大概几十张,之前小伙伴是写了几十个activity... 但是这次400张怎么处理?...那么这些字段添加多条 就是 组后面放了一个 + 号 点击+号  这个组 就增加一组 。所以这个带+号字段 就是 列表字段。 组 列表 处理起来相对来说非常麻烦。...做时候就会发现  倘若界面出现同一个item布局  ,布局里面包含点击事件 ,正常给控件设置点击事件,会发现 点击控件时候无法区分开每个点击事件 所以处理点击事件时候:原理  就是先循环整体大布局...如果是嵌套多级  就一级一级找... 5.保存上传数据 我们这边保存处理逻辑就是将界面上所有的数据都拼成一个JSONOject  里面套JSONArrayJSONObject ,反正就是根据自己业务往里面套数据

    2.2K20

    手机卫士黑名单功能(ListView优化)

    一篇记录了使用ListView展示出来了100条数据,当慢慢拖动时候,不会有问题,但是当拖动很快时候,应用会报anr错误 查看错误日志,看到报OutOfMemoryError,内存不足 ListView...显示条目的时候,每显示出来一条都会调用一下getView()方法 这个方法里面将xml文件转成View对象非常消耗资源,要避免频繁调用重写getView()方法中,会传递进来一个View对象...View对象,只会在第一次屏幕展示时候创建,之后条目显示,都是使用之前缓存View对象 下面调用View对象findViewById()方法,也非常消耗内存: android布局中,是个典型树结构...,查找控件时候,需要遍历整个结构,有可能非常消耗时间 定义一个内部类ViewHolder 定义属性根据业务 getView()方法中,获取ViewHolder对象 赋值ViewHolder对象属性...,findViewById()查找到View控件对象 当转换成View对象创建时候,调用View对象setTag()方法,参数:VIewHolder对象 使用View对象getTag()方法,

    56410

    安卓第八夜 玛丽莲梦露

    MainActivity中监听新按钮。之前事件监听方式,是将新建OnClickListener对象传递给视图元素。实际,OnClickListener只是一个接口(interface)。...可以看到,ListView中,虽然每个条目的具体数据不同,但它们构图方式都相同。这样,我不用微观操作每个条目,就可以把注意力放在数据变更。...创建对象,我把上面的条目布局,即R.layout.list_category作为参数传给构造器: package me.vamei.vamei; import java.util.ArrayList...setTag()用于把对象“粘附”某个视图元素。...if(convertView == null)结构中可以看出,如果条目被重复利用,粘附在条目Holder对象将借助getTag()方法取出。

    1.9K90

    笔记42 | Android加载器Adapter深入学习篇(一)

    ViewHolder作用 getItemViewTypegetViewTypeCount 实现 实现步骤 ---- 1.ListView针对List中每个item, adapter都会调用一个getView...方法获得布局视图 2.我们一般会Inflate一个新View,填充数据并返回显示 如果我们Item很多话,Android中有个叫做Recycler构件,无论数据中是多少个item,显示Recycler...前一篇中实现了各种样式Adapter,从简单单字符类型,到多字符类型,再到有button类型,当一个listview需要加载各种不同item,就需要getItemViewTypegetViewTypeCount...//返回由getView创建视图类型数量。每种类型都表示可以getView中转换一组视图。...---- 实现步骤 首先我们需要为不同Item设置不同数值,int,因为getItemViewType返回是int,所以需定义成int,必须从0开始,依次递增。

    59640

    安卓第八夜 玛丽莲梦露

    MainActivity中监听新按钮。之前事件监听方式,是将新建OnClickListener对象传递给视图元素。实际,OnClickListener只是一个接口(interface)。...可以看到,ListView中,虽然每个条目的具体数据不同,但它们构图方式都相同。这样,我不用微观操作每个条目,就可以把注意力放在数据变更。...创建对象,我把上面的条目布局,即R.layout.list_category作为参数传给构造器: package me.vamei.vamei; import java.util.ArrayList...setTag()用于把对象“粘附”某个视图元素。...if(convertView == null)结构中可以看出,如果条目被重复利用,粘附在条目Holder对象将借助getTag()方法取出。

    61510

    android入门 — ListView优化

    调用View中findViewById()方法获取一次控件实例,这也是一个很耗时操作,可以进行优化。...getView()方法进行判断,如果为空,则使用LayoutInflater去加载布局,如果不为空,则直接对convertView进行重用,这样可以提高ListView运行效率,快速滚动时候也可以表现出更好性能...:创建一个ViewHolder对象,并将对象实例都存放在ViewHolder中,然后调用setTag()方法,将ViewHoler对象存储View中。...当convertView不为空时候:调用ViewgetTag()方法,将ViewHolder重新取出来。 ?   ...1.viewHolder是一个自定义类,它存储了通过findViewById获取空间对象;   2.当ConvertView被新建,ViewHolder也随之一起缓存到Recycler中;   3

    923130

    listview异步加载图片并防止错位

    当 Item1 划出屏幕, Item8 进入屏幕,这时没有为 Item8 创建新 view 实例, Item8 复用是 Item1  view 如果没有异步不会有任何问题,虽然 Item8 ...Item1 指向同一个 view,但滑到 Item8 刷上了 Item8 数据,这时 Item1 数据 Item8 是一样,因为它们指向同一块内存, 但 Item1 已滚出了屏幕你看不见...Item8 图片也变成了 Item1 图片,因为它们复用同一个 view。...如果 Item1 图片下载比 Item8 图片快, Item1 先刷上自己下载图片,这时你滑下去,Item8 图片还没下载完, Item8 会先显示 Item1 图片,因为它们同一快内存...,当 Item8 自己图片下载完后 Item8 图片又刷成 了自己,你再滑上去使 Item1 可见, Item1 图片也会 Item8 图片是一样, 因为它们指向同一块内存。

    89870

    Android 巧仿蚂蚁森林水滴动效

    ValueAnimator来做,但是一个ValueAnimator怎么去控制每个view运动方向呢,有可能你会说每个view初始化时候给一个反向,确实可以解决运动方向不同问题,但是怎么解决view...随机设置位置(一些固定集合中随机选取,尽量保证水滴不重合) * ->为view设置一个初始运动方向(注:由于每个view运动方向不同,所以我选择将方向绑定到viewtag中)...->界面销毁停止调用handler避免内存泄漏,空指针等异常 * */ 正题 下面的讲解我将会贴出重要部分代码,也就是思路关键点,完整代码还是请clone项目。.../**但是其实这不是我最终方法,先往下看吧,还有彩蛋**/ /** * 获取x轴或是y轴随机 * * @return */ private double...,也就是说这里双重循环了 优化随机取用一个后,就把这个从集合移除,这样不就不会取到一样值了么 /** * 界面销毁回调 */ @Override protected

    1.1K30
    领券