我有一个来自父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 /标记?
答案 0 :(得分:0)
如果您确实持有对您知道也在子列表中的View(mActiveCard)的引用,您可以简单地比较它们的引用。
if (mActiveCard == getChildAt(x))
{
// ...
}