带有按钮标签的Listview自定义适配器

时间:2014-09-17 20:29:15

标签: android listview android-arrayadapter

我遇到了自定义适配器的问题,并找到了问题解决方案。但是我不知道该如何去做。我已经研究并看到了一些listview定制适配器的例子,其中按钮被赋予了像viewHolder.button.setTag(Tag)这样的标签,我理解标签的作用,但我不确定如何使用它。我的问题是:当我在一个按钮上设置标签时,如果所有标签设置相同,应用程序如何区分我的按钮与另一个按钮?另外,假设我的自定义适配器中有onClick方法,如何使用我设置到按钮的标签来识别单击的按钮?我在互联网上看到了类似的适配器,但并不完全是这样的例子,也非常感谢。

1 个答案:

答案 0 :(得分:1)

  

我不确定如何使用它

tag是一种机制,可让您views记住某些内容,可能是object integerstring或您喜欢的任何内容。

  

我的问题是:当我在按钮上设置标签时,该怎么做   如果所有标签都是,那么应用程序会区分我的按钮   设置相同吗?

我不明白这个问题,但我想如果你注意到你的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
    }

    }   
});