其他分享
首页 > 其他分享> > android-在Toast .maketext()方法中使用getApplicationcontext()和this之间有什么区别

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