如何确定Android中两个视图的常见超级视图

时间:2018-06-01 22:11:14

标签: java android android-layout android-view

我的一位朋友给了我这个问题,我无法自己找出答案。我已经尝试了谷歌,但我找到了iOS平台的答案。

也许我可以用Google搜索错误的术语,我想指导如何找到答案。如果涉及到Android OS /抽象为开发人员执行实现的场景,我想知道什么。

如何确定Android中两个视图的常见超级视图?

3 个答案:

答案 0 :(得分:1)

在两个视图中使用View.getParent(),直到找到n-ary树视图中的最低共同祖先。

答案 1 :(得分:0)

JAVA没有多重继承所以你不能通过extends做到这一点,但有一种方法可以通过接口来实现。只需使用您希望每个视图子类具有的方法定义一个接口,然后您的视图子类必须实现此接口。

答案 2 :(得分:0)

我不知道Android中是否存在现有方法,但编写自己的方法并不困难。常见的superview只是视图树中这两个视图的最低共同祖先(LCA)。 LCA的发现是标准的算法问题,有很多算法用不同的渐近法来解决它。