2 woshiwoxingfu woshiwoxingfu 于 2012.10.17 11:03 提问

从当前的activity获得根视图

我知道通过v: v.getRootView()可以从一个给定的视图中获得根视图。当参数是一个View时我也可以从一个按钮的onClick事件中获得视图。但是我怎么才能从一个activity中获得视图?

3个回答

mansuifengqi
mansuifengqi   2012.10.17 13:21
已采纳
getWindow().getDecorView().findViewById(android.R.id.content)
woshiwoxingfu
woshiwoxingfu 实际上只是findViewById(android.R.id.content) 给了我根视图。如果在一些情况下这个不对,我可以从findViewById(android.R.id.content).getRootView()获得根视图。谢谢你的回答。
大约 5 年之前 回复
ueryueryuery
ueryueryuery   2012.10.17 15:38

一楼说的其实是对的,getWindow().getDecorView()就是根视图了,当然用Activity.getWindow.getDecorView()来表达意思更为明确。

LZ可以看下源码里,Activity.findViewById()到底是如何作用的。

woshiwoxingfu
woshiwoxingfu 嗯,已经改好了,三克油
大约 5 年之前 回复
niangzhi
niangzhi   2012.10.17 14:11

我是用这个获得根视图的,在XML文件中被指定为setContentView:

((ViewGroup)findViewById(android.R.id.content)).getChildAt(0)
Csdn user default icon
上传中...
上传图片
插入图片