在activity
我正在更改其中一个ViewGroup
内容运行时:按钮操作,其他事件。
在特定情况下,我需要检查一个孩子是否在这个layout
中(在这种情况下,孩子是另一个RelativeLayout
,其中包含其他观点)
如果child_1_RelativeLayout
存在或已从视图树中删除,他的父代是parentRelativeLayout
getParent()有用吗? - 没有太多解释如何使用它,谢谢。
答案 0 :(得分:2)
如果您已存储视图,则可以使用getParent()检查视图是否是其他视图的直接子视图。删除视图后,其父字段将被清除。例如:
ViewGroup parent = ...;
View child = ...;
assert(child.getParent() == parent); // <-- true
parent.removeView(child);
assert(child.getParent() == parent); // <-- false
答案 1 :(得分:1)
我不确定我是否理解你的问题,但是:
ViewGroup
中是否存在相对布局,使用ViewGroup的findViewById()
方法(继承自View
)并将您给出的ID传递给相对布局findViewById()
将找到它简而言之,findViewById()
不仅定义了一个活动,而且您可以在任何想要用作搜索起点的视图上调用它。