如何检查视图的引用是否在android的另一个视图中?

时间:2012-09-29 01:15:51

标签: android

不要求视图具有唯一ID。您可以膨胀视图,然后将该视图添加到另一个视图中。例如。

  myFooterReference = inflate (my_footer)
  myListView.addFooterView(myFooterReference)

那么呼叫总是有效吗?

 myListView.removeFooterView(myFooterReference)

我们现在没有选择先检查

 myListView.findViewById(R.id.my_footer_id) // because no such footer exists

所以这些家伙怎么了?尝试通过引用删除视图是否始终有效,即使它不在那里。有没有其他人做过这样的错误?

任何有关android sdk没有方法的理论:

  myListView.hasView(listViewReference);

或至少

  myListView.hasFooterView(listViewReference) ?

它有一些项目,但为什么不知道一个给定的页脚是否在那里?

1 个答案:

答案 0 :(得分:1)

您可以获得视图的父级:

view.getParent();

并检查它是否有父级,是否是您的列表视图的父级或不是?

但是如果你不喜欢这些检查,通常最好的解决方案就是实现你自己的布局管理器,根据需要做你想要的布局,并且还可以跟踪它里面的有趣视图。 /> 请参阅此页:Check if a View contains another View