Java 安卓,找个DecorView的孩子
我想知道是否有可能得到一个decorViews的孩子。例如,如果我有一个decorView对象,并且我知道decorView的子对象是一个FrameLayout,那么我是否可以通过使用其父对象来获取FrameLayout对象 显然,我可以用传统的方式使用getViewById(),但是如果我只想使用父对象,是否可以获取FrameLayout对象Java 安卓,找个DecorView的孩子,java,oop,Java,Oop,我想知道是否有可能得到一个decorViews的孩子。例如,如果我有一个decorView对象,并且我知道decorView的子对象是一个FrameLayout,那么我是否可以通过使用其父对象来获取FrameLayout对象 显然,我可以用传统的方式使用getViewById(),但是如果我只想使用父对象,是否可以获取FrameLayout对象 谢谢,您是在谈论对象继承吗 如果是这样的话,那么很简单:投下它 假设您有一个类“Foo”,它是“Bar”的一个祖先类(换句话说:Bar是Foo的一个“子
谢谢,您是在谈论对象继承吗 如果是这样的话,那么很简单:投下它 假设您有一个类“Foo”,它是“Bar”的一个祖先类(换句话说:Bar是Foo的一个“子类”),那么以下面的示例为例:
Foo myFoo = getSomeFoo();
Bar myBar = (Bar)myFoo;
因此,根据您的问题进行调整:
View myView = getDecorView();
FrameLayout myFrameLayout = (FrameLayout) myView;
或:
但是,您应该保护进行此调用的块,因为如果getDecorView
返回的实例不是FrameLayout
(或它的(in)直接子类),这将抛出ClassCastException
。只需添加一个try/catch块,或者向包含此行的方法添加一个抛出
声明。什么最适合你
FrameLayout myFrameLayout = (FrameLayout) getDecorView();