如何访问kotlin中的视图标记
我使用ImageView的标记来存储这样的值映射如何访问kotlin中的视图标记,kotlin,Kotlin,我使用ImageView的标记来存储这样的值映射 imageView.setTag(R.id.TAG_ID, id) imageView.setTag(R.id.TAG_PATH, path) imageView.tag?.let { //it: Any id = imageView.getTag(ID).toString() path = imageView.getTag(PATH).toString() } 在某个时刻,我清除了标签 imageView.tag = nul
imageView.setTag(R.id.TAG_ID, id)
imageView.setTag(R.id.TAG_PATH, path)
imageView.tag?.let { //it: Any
id = imageView.getTag(ID).toString()
path = imageView.getTag(PATH).toString()
}
在某个时刻,我清除了标签
imageView.tag = null
考虑到Kotlin中的标记可以为null,访问它的正确方法是什么
现在我是这样做的
imageView.setTag(R.id.TAG_ID, id)
imageView.setTag(R.id.TAG_PATH, path)
imageView.tag?.let { //it: Any
id = imageView.getTag(ID).toString()
path = imageView.getTag(PATH).toString()
}
是否可以使用It
获取值
更新
我刚刚发现,tag
总是null
,即使在调用setTag(R.id,value)
、hense设置tag=null
和imageView.tag?之后也是如此。让没有任何意义
所以,补充问题是如何重置整个标记映射并检查是否定义了任何标记键。不要将其设置为空。清除它。或者用新的空映射替换它。为什么it
属于任何类型。imageView的源代码是什么?imageView是imageView
<代码>它
的类型为any
,因为它指的是标记
,而不是视图。如何清除标签?我在tag
上找不到clear
方法,操作说明:视图。tag
返回使用view.tag=
设置的标记对象,您没有使用它。您需要使用接受键参数的getTag()
方法,因为您使用键设置标记。将用作字符串?
正确地为您提供一个可为null的引用(前提是set对象是字符串或null)toString()
将任何内容(即使为null)转换为不可为null的字符串null
将转换为一个值为“null”
的字符串。
val id = imageView.getTag(ID) as String?
val path = imageView.getTag(PATH) as String?