2014-04-11 79 views
3

我注意到,在我的類,它擴展View,讓屏幕大小我必須使用的getContextgetBaseContext或getContext?他們有什麼不同?

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

,如果我想要做同樣的我的活動裏面,我有getBaseContext更換getContext。爲什麼會這樣?

+2

http://stackoverflow.com/questions/22966601/what-is-different-between-mainactivity-this-vs-getapplicationcontext/22967165#22967165 –

+1

你可以在Activity中使用Activity實例來查找屏幕大小,不需要getBaseContext()和'View','getContext()'返回一個'Context'的實例,它作爲參數在其初始化期間傳遞,即在'new View(Context)'中。 –

回答

2

getContext()返回視圖當前正在運行的上下文。活動。

getBaseContext():如果你需要從其他上下文中獲得一個背景下,您使用此

3

View.getContext()返回視圖目前在

運行getBaseContext()上下文:是活動場景本身。即使你可以使用this

相關問題