1

我有这段代码来设置一些标签,在将这些行添加到 strings.xml 之后,我设置了两个标签:

<item type="id" name="KOLONA1"/>
<item type="id" name="KOLONA2"/>

a1.setTag(R.id.KOLONA1, labelsA.get(0).tag);

在我的 onClickListener 中,我有一些检查标签的代码:

if (buttonClicked.getTag().equals(button.getTag())) {

//some code
}

在这个特定的检查中,我的代码应该检查第二个标签,labelsA.get(0).tag,但它没有,它检查第一个,R.id.KOLONA。如何告诉我的代码要检查哪些标签?

示例按钮

4

2 回答 2

0

像这样简单的东西可能是您正在寻找的东西:

if (buttonClicked.getId() == button.getId()
     && buttonClicked.getTag().equals(button.getTag())) {

    //some code
}

或者,如果您感到非常偏执:

if (buttonClicked.getId() == button.getId()
     && buttonClicked.getParent() == button.getParent()
     && buttonClicked.getTag().equals(button.getTag())) {

    //some code
}

更新:我刚刚意识到这getTag()是多余的,因为如果它们具有相同的 ID 和相同的父级,它们必须相同,所以:

if (buttonClicked.getId() == button.getId()
     && buttonClicked.getParent() == button.getParent()) {

    //some code
}
于 2013-04-10T01:20:32.563 回答
0

您可以使用 id 通过 id 获取特定标签View.getTag(int tag)。我认为您正在寻找的是button.getTag(R.id.KOLONA1). 该文档可以在这里找到:http: //developer.android.com/reference/android/view/View.html#getTag(int)

于 2013-04-10T01:00:28.047 回答