小编典典

从当前活动中获取根视图

all

我知道如何使用View.getRootView()获取根视图。我还可以从onClick参数为View的按钮事件中获取视图。但是我怎样才能在活动中获得
视图


阅读 107

收藏
2022-03-03

共1个答案

小编典典

如果您需要活动的根视图(以便您可以在那里添加内容),请使用

findViewById(android.R.id.content).getRootView()

另据报道,在某些设备上,您必须使用

getWindow().getDecorView().findViewById(android.R.id.content)

反而。

请注意,正如 Booger 报告的那样,这可能位于某些设备上的导航栏(带有后退按钮等)的后面(但在大多数设备上似乎并非如此)。

如果您需要使用setContentView()方法获取添加到活动中的视图,那么正如 pottedmeat 所写,您可以使用

final ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this
            .findViewById(android.R.id.content)).getChildAt(0);

但最好在您的 xml 布局中将 id 设置为此视图并使用此 id 代替。

2022-03-03