我遇到了自定义适配器的问题,并找到了问题解决方案。但是我不知道该如何去做。我已经研究并看到了一些listview定制适配器的例子,其中按钮被赋予了像viewHolder.button.setTag(Tag)
这样的标签,我理解标签的作用,但我不确定如何使用它。我的问题是:当我在一个按钮上设置标签时,如果所有标签设置相同,应用程序如何区分我的按钮与另一个按钮?另外,假设我的自定义适配器中有onClick方法,如何使用我设置到按钮的标签来识别单击的按钮?我在互联网上看到了类似的适配器,但并不完全是这样的例子,也非常感谢。
答案 0 :(得分:1)
我不确定如何使用它
tag
是一种机制,可让您views
记住某些内容,可能是object
integer
个string
或您喜欢的任何内容。
我的问题是:当我在按钮上设置标签时,该怎么做 如果所有标签都是,那么应用程序会区分我的按钮 设置相同吗?
我不明白这个问题,但我想如果你注意到你的button
有记忆并且它叫tag
你可以更好地使用它。如果您的所有buttons
内存(代码)都相同,则无法使用tags
来区分buttons
,您必须使用ids
。
说我的自定义适配器中有一个onClick方法,我该如何使用 标记我设置为按钮以识别被单击的按钮?
您必须为tags
设置不同的buttons
或对其进行逻辑分组,并为每个组设置不同的tags
,然后在onClick
方法中使用tags
识别您的buttons
群组:
OnClickListener myButtonListener = new OnClickListener() {
@Override
public void onClick(View arg0) {
Object obj = arg0.getTag();
if(obj instanceOf groupOneTagObject){
// do action for group 1
}else if(obj instanceOf groupTwoTagObject){
// do action for group 2
}
}
});