我想知道下面兩個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'不起作用。 –