1

不要求视图具有唯一 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) ?

它有项目计数,但为什么不提供一种方法来判断给定的页脚是否存在?

4

1 回答 1

1

您可以获取视图的父级:

view.getParent();

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

但是,如果您不喜欢这些检查,通常最好的解决方案是实现您自己的布局管理器,根据需要执行您想要的布局,并且还可以跟踪其中包含的有趣视图。
请参阅此页面:检查一个 View 是否包含另一个 View

于 2012-09-29T02:53:34.143 回答