android-在Toast .maketext()方法中使用getApplicationcontext()和this之间有什么区别
作者:互联网
在Toast.makeText()方法的context参数中是否有任何特定的实例需要使用getApplicationcontext()或此方法?
Toast.makeText(this, "HI", Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationcontext(), "HI", Toast.LENGTH_LONG).show();
解决方法:
getApplicationContext:
依Developer documention : getApplicationContext
返回当前进程的单个全局Application对象的上下文.通常,仅当需要一个生命周期与当前上下文分开的上下文的上下文时,才应使用此方法,该上下文的生命周期与流程的生命周期相关,而与当前组件的生命周期无关.
采用:
您可以在以下应用程序的帮助下使用整个应用程序:
public class YourApp extends Application
{
static YourApp appstate;
public void onCreate(Bundle savedInstanceState){
super.onCreate();
appstate = this;
}
public static YourApp getApplication(){
return appstate;
}
}
如何使用:YourApp.getApplication();
这个
在实例方法或构造函数中,这是对当前对象的引用.
使用:您可以按照自己的意愿使用“活动上下文”
例如
public void onCreate(Bundled savedInstanceState)
{
...
Toast.makeText(this, "HI", Toast.LENGTH_LONG).show();
}
如何使用Toast.makeText()区分使用此方法和getApplicationContext()?
尝试在AynscTask中与此和getApplicationContext一起使用Toast.makeText().
标签:android-context,android 来源: https://codeday.me/bug/20191029/1960814.html