2014-09-22 46 views
0

我有一个观点,我从父ViewGroup中得到:检查视图等于另一个

mActiveCard = getChildAt(LAST_OBJECT_IN_STACK); 

后来我检查什么,如果mActiveCard等于另一种观点认为:

anotherCard = getChildAt(x); 

天真的方法本来是要检查x == LAST_OBJECT_IN_STACK,但是ViewGroup中可能会有很多更改,例如删除的对象。所以职位是相对的。 此外,我可以保存对象购买但会消耗一些更多的内存,例如:

mActiveCard.equals(getChildAt(LAST_OBJECT_IN_STACK)) 

一个想法是视图SETID()或setTag()。所以如果我有一个唯一的String/int,那么我可以稍后获取id或标记。所以只保存id /标签就需要更少的内存,对吧?

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

回答

0

如果你真的坚持一个你认为也在子列表中的View(mActiveCard)的引用,你可以简单地比较它们的引用。

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