Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓,找个DecorView的孩子_Java_Oop - Fatal编程技术网

Java 安卓,找个DecorView的孩子

Java 安卓,找个DecorView的孩子,java,oop,Java,Oop,我想知道是否有可能得到一个decorViews的孩子。例如,如果我有一个decorView对象,并且我知道decorView的子对象是一个FrameLayout,那么我是否可以通过使用其父对象来获取FrameLayout对象 显然,我可以用传统的方式使用getViewById(),但是如果我只想使用父对象,是否可以获取FrameLayout对象 谢谢,您是在谈论对象继承吗 如果是这样的话,那么很简单:投下它 假设您有一个类“Foo”,它是“Bar”的一个祖先类(换句话说:Bar是Foo的一个“子

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

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


谢谢,

您是在谈论对象继承吗

如果是这样的话,那么很简单:投下它

假设您有一个类“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();