大多数答案已经涵盖 getContext() 和getApplicationContext() 但很少解释 getBaseContext()。 方法getBaseContext() 仅在您拥有 ContextWrapper --- 时才相关。 Android 提供了一个 ContextWrapper 类,它是围绕现有的 Context 创建的,使用: ContextWrapper wrapper = new ContextWrapper(context); 使用ContextWrapper...
getApplicationContext(): 返回应用的上下文,生命周期是整个应用,应用摧毁,它才摧毁。 使用getContext获取的是当前对象所在的Context, Context通常翻译成上下文,我通常当成场景来理解。 getApplication():andorid 开发中共享全局数据; getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文 我们在平时的开发中...
getApplicationContext(): 返回应用的上下文,生命周期是整个应用,应用摧毁,它才摧毁。 使用getContext获取的是当前对象所在的Context, Context通常翻译成上下文,我通常当成场景来理解。 getApplication():andorid 开发中共享全局数据; getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文 我们在平时的开发中...
✓ 已被采纳 getContext()返回的是当前运行view的context,通常是当前活动的activity的context。getBaseContext()在你需要从其他的context中访问Context时使用。 有用 回复 撰写回答 你尚未登录,登录后可以 和开发者交流问题的细节 关注并接收问题和回答的更新提醒 参与内容的编辑和改进,让解决方法与时俱进 注册登录...
如果是UI控件需要使用Activity作为Context对象,但是默认的Toast实际上使用ApplicationContext也可以。实际上,只要把握住一点,凡是跟UI相关的,都应该使用Activity做为Context来处理;可以看到Activity、Service、Application都是Context的子类
一、Context的获取 获取context的方法有以下几种: 活动类中使用this关键字、getApplicationContext()、getBaseContext() Activity.this 返回当前的活动类实例。 使用getApplicationContext获取整个应用的context,获取的对象存活周期和应用一样长。 getBaseContext 获取ContextWrapper的原始context,也就是获取到一个ContextImpl...
这个例子中的getBaseContext()就不能被this代替,因为上面的this返回的是这个activity的context,而在这个onClick函数中如果使用this的话,则返回的是这个AlertDialog的context,所以要使用的是当前activity名.this 去使用,比如当前activity为 TestActivity,那么在里面就是用TestActivity.this即可 ...
2.getApplicationContext 这个是获取整个app生命周期的上下文,一般用于application中,获取app相关的基础信息 3.getBaseContext 是ContextWrapper中的方法,基本不用,Google也不推荐使用,是一种委托,在一个context获取另一个context。 4.getApplication 这个是获取当前进程的Application实例,可以去操作自己写的Application中的方...
mContext = getApplicationContext(); mContext = getBaseContext(); } } However I can't find any decent explanation of which is preferable, and under what circumstances which should be used. 不过,我不能找到任何像样的解释:那种写法是最好的,在哪种情况应使用哪种写法。
也就是说,getApplicationContext()方法的作用域会更广一些,任何一个Context的实例,只要调用getApplicationContext()方法都可以拿到我们的Application对象。 那么更加细心的朋友会发现,除了这两个方法之外,其实还有一个getBaseContext()方法,这个baseContext又是什么东西呢?我们还是通过打印的方式来验证一下: ...