Android,获取DecorView的孩子

时间:2009-10-23 13:23:29

标签: java oop

我想知道是否有可能得到一个decorViews的孩子。例如,如果我有一个decorView对象,并且我知道decorView的子节点是FrameLayout,那么我是否只能使用其父节点来获取FrameLayout对象?

显然我可以用传统方式使用getViewById(),但是如果我只想使用父对象,是否可以获取FrameLayout对象?

谢谢,

1 个答案:

答案 0 :(得分:1)

你在谈论对象继承吗?

如果是这种情况,则很简单:投下它。

假设你有一个“Foo”类,它是“Bar”的祖先类(换句话说:Bar是Foo的“孩子”),那么请举个例子:

Foo myFoo = getSomeFoo();
Bar myBar = (Bar)myFoo;

因此,请根据您的问题进行调整:

View myView = getDecorView();
FrameLayout myFrameLayout = (FrameLayout) myView;

或:

FrameLayout myFrameLayout = (FrameLayout) getDecorView();

如果ClassCastException返回的实例 a getDecorView(或者(in)它的直接子类)。只需添加一个try / catch块,或向包含该行的方法添加FrameLayout声明。无论什么最适合你。