我想知道下面两个Toast中两个上下文之间的区别,何时使用这个&何时使用getActicity?Android吐司上下文
Toast.makeText(getActivity() , "Text" ,Toast.LENGTH_LONG).show();
Toast.makeText(this , "Text" ,Toast.LENGTH_LONG).show();
我想知道下面两个Toast中两个上下文之间的区别,何时使用这个&何时使用getActicity?Android吐司上下文
Toast.makeText(getActivity() , "Text" ,Toast.LENGTH_LONG).show();
Toast.makeText(this , "Text" ,Toast.LENGTH_LONG).show();
如果你说正试图从一个Fragment
访问它,使用getActivity()
否则,如果你是在Activity
本身,使用this
。
您可以用活动指定您的Context
与this
或getApplicationContext()
。
getActivity()
使用了Android的碎片
this
实际上是指当前类,你是在一个指针。this
可以参照类似的东西Activity
,Fragment
,View
,的etc.A参考使用当前对象this
。
getActivity()
仅在Fragment
类和其他任何扩展Fragment
类中可用,并且此方法返回类型为Activity
的对象。
要创建Toast
您需要一个Context
对象。
如果你是在一个Activity
类或扩展Context
类,你可以使用this
(因为Activity
本身就是一个Context
孩子)
如果您例如在Fragment
类另一个类,那并不是” t延伸Context
,您应该使用getActivity()
获得Context
参考。
这里关于Context
类的文档,你找到的所有类,扩展它:http://developer.android.com/reference/android/content/Context.html
的可能的复制http://stackoverflow.com/questions/10347184/difference-and-when-to-use- getapplication-getapplicationcontext-getbasecon –
'getActivity()'用于当你离开上下文时(即:在一个片段中),其中'this'不起作用。 –