getBaseContext或getContext?他们有什么不同?

时间:2014-04-11 10:21:11

标签: java android

我注意到在我的类中扩展了View,以获得屏幕大小我必须使用getContext

DisplayMetrics dispM = getContext.getResources().getDisplayMetrics();
int width = dispM.WidthPixels;
int height = dispM.HeightPixels;

如果我想在我的活动中做同样的事情,我必须用getContext替换getBaseContext。为什么会这样?

3 个答案:

答案 0 :(得分:3)

View.getContext()返回视图当前正在运行的上下文。

getBaseContext():是活动上下文本身。即使你可以使用this

答案 1 :(得分:2)

getContext()返回视图当前运行的上下文。活性。

getBaseContext():如果您需要从另一个上下文中访问Context,请使用此

答案 2 :(得分:2)

View.getContext()通常返回当前Activity视图的上下文。从另一个上下文示例Activity中访问Context时使用ContextWrapper.getBaseContext()

见 - Difference between getContext() , getApplicationContext() , getBaseContext() and "this"