检查视图是否等于另一个

时间:2014-09-22 15:58:37

标签: android android-view

我有一个来自父ViewGroup的视图:

mActiveCard = getChildAt(LAST_OBJECT_IN_STACK);

我稍后会检查mActiveCard是否等于另一个视图:

anotherCard = getChildAt(x);

一种天真的方法是检查x == LAST_OBJECT_IN_STACK,但ViewGroup中可能会有很多变化,例如删除了对象。所以职位是相对的。 此外,我可以保存对象以供日后使用,但这会消耗更多内存,例如:

mActiveCard.equals( getChildAt(LAST_OBJECT_IN_STACK) )

一个想法是set或setTag()的setId()。所以,如果我有一个唯一的String / int,那么我以后可以得到id或标签。因此只需保存id / tag就需要更少的内存,对吗?

首先是我的理论正确吗?此外,Android SDK是否提供了一种识别标记的方法,以及可以在该视图上生成和设置的好ID /标记?

1 个答案:

答案 0 :(得分:0)

如果您确实持有对您知道也在子列表中的View(mActiveCard)的引用,您可以简单地比较它们的引用。

if (mActiveCard == getChildAt(x))
{
    // ...
}