2011-09-27 63 views
1

我对android Toast类有怀疑。我们在Android的一个静态方法叫makeTextAndroid吐司类参数

并有能力使用它作为

Toast.makeText(上下文的背景下,CharSequence的文字,INT持续时间);

我们可以使用getBaseContext()作为getBaseContext(),getParent()和getApplicationContext()中的一个选项。

请任何人都可以解释我getBaseContext()的用途和用法

谢谢........

+0

http://stackoverflow.com/questions/5458156/diffinitive-rules-for-using-androids-getbasecontext-getapplicationcontext-or-us检查此... –

回答

2

为了能够告诉你需要有一些参考消息上下文。 Toast是静态类,你可以从任何活动中调用Toast,广播接收器或任何具有上下文的类

通常有两种类型的类。扩展ContextWrapper类(Activity,Service,Application)的扩展类以及不扩展它的类(如View)。

如果类扩展了ContextWrapper,那么你可以使用它作为上下文。这样的类通常没有getContext()方法。

那些不扩展ContextWrapper但仍保存并使用Context的类通常会公开getContext()函数。在这种情况下,您不能将此用作Context。

而这两种情况是相互排斥的。至少我不记得扩展ContextWrapper并且同时具有getContext的类。

此了解更多详情What's the difference between the various methods to get a Context?