文档章节

Activity.this与getApplicationContext()在应用上的不同

公子彦
 公子彦
发布于 2016/03/03 21:53
字数 307
阅读 15
收藏 0
点赞 1
评论 0

今天在写一个小例子的时候,其中用到了new AlertDialog.Bulider(XXXXX).setTitle("title").setMessage(mag).show

括号里面我用的是getApplicationContext()来获取当前activity的名称,结果运行程序的时候一直出错。

经过一个小时的排除,终于找到了错误原因,结果是括号里应该用Activity.this(假设Activity为当前activity名称)

为什么呢?

根据我在网上查到的资料,在这里简单总结一下。

1、首先我们需要知道AlertDialog.Bulider()括号里传入的应该是当前语句所在的Activity,而AlertDialog是依赖于一个View的,也就是说,它在这里仅存在一个activity周期。

2、下面我们看一下getApplicationContext()和activity.this,getApplicationContext()得到的是整个应用的生命周期,所以虽然它拿到的也是当前Activity,但是当前activity结束时,也许还有其他activity存在,getApplicationContext()并不会随之销毁。而activity.this则是仅存在于当前activity的这一个生命周期中。

由此可以看出,在两者的使用过程中还需要注意activity的生命周期问题。所以,activity.this可以用在AlertDialog中

,getApplicationcontext()却不能。

© 著作权归作者所有

共有 人打赏支持
公子彦
粉丝 2
博文 11
码字总数 6260
作品 0
程序员
android学习—— context 和 getApplicationContext()

Context,中文直译为“上下文”。 浅论一下 context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的 参数就是一个context,在这里我们传入的是thi...

fjabing
2014/02/19
125
0
android学习—— context 和 getApplicationContext()

在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的 参数就是一个context,在这里我们传入...

sw3458856
2014/04/29
0
0
Toast.maketext第一个参数context的问题

在Android工程中经常用到 Toast来显示提示,在maketext的第一个参数是要求传递一个context 那么问题来了 有时候是使用getApplicationContext(); 有时候是Activity.this 而有时候又直接是 this...

我叫leo-
2016/04/19
690
0
Caused by: android.view.WindowManager$BadTokenExce

有时候,如果采用getApplicationContext()传入Context,会出现如上错误。此时若采用传入当前activity.this,则不会出错。 两者的区别是: getApplicationContext()返回应用的上下文,其生命...

一别经年
2014/01/21
0
0
Android 开发中踩过的坑之七:尽量避免使用Acitivity当做Context

这坑容易埋, 却不容易发现. 比如启动一个页面, 需要用到一个单例的工具类Utils, 初始化Utils需要一个Context参数, 直接传入Activity.this. 然后这个单例的Utils就会一直持有Activity.this, ...

revfycd
2015/08/06
0
1
Android Context 详解

Android中context可以作很多操作,但是最主要的功能是加载和访问资源。 在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是a...

长平狐
2013/01/06
5.5K
0
自定义progressdialog

首先准备资源图片(自己做的图片比较丑): 1 2 3 4 一共四幅图片。 1 需要为Dialog定义一个布局文件,我这里定义一个waitting.xml <?xml version="1.0" encoding="utf-8"?><RelativeLayout xm...

tomcater
2014/11/21
0
0
android 中窗体溢出(android.view.WindowLeaked)

1.Activity 的生命周期与 Dialog 的不一样 AlertDialog.Builder builder=new AlertDialog.Builder(context); 2.这个context 是Activity的上下文 3.Dialog 要在Activity 销毁前 dismiss()掉,......

Clownflsh
2012/03/13
0
0
Context都没弄明白,还怎么做Android开发?

Context都没弄明白,还怎么做Android开发? 字数3694 阅读11455 评论53 喜欢296 Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?...

3kqing
2016/06/05
33
0
上下文问题

<1> 对程序中的上下文一直有疑惑,不知为什么要导入上下文,其实,android中要想获取res文件夹中的资源文件,必须获得资源文件的上下文,才可进行资源文件的引用 <2> 开发过程中,用到两种上下...

OnOctober29
2016/03/29
15
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

数据库两大神器【索引和锁】

前言 只有光头才能变强 索引和锁在数据库中可以说是非常重要的知识点了,在面试中也会经常会被问到的。 本文力求简单讲清每个知识点,希望大家看完能有所收获 声明:如果没有说明具体的数据库...

Java3y
7分钟前
0
0
Application Express安装

Application Express安装文档 数据库选择和安装 数据库选择 Oracle建议直接12.2.0.1.0及以上的版本,12.1存在20618595bug(具体可参见官方文档) Oracle 12c 中安装oracle application expr...

youfen
20分钟前
0
0
OpenMessaging概览

序 本文主要研究一下OpenMessaging 架构图 namespace,类似cgroup的namespace,用来进行安全隔离,每个namespace有自己的producer、consumer、topic、queue等 producer,消息生产者有两类,一...

go4it
24分钟前
0
0
MySQL索引类型

MySQL目前主要有以下几种索引类型: 1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引 https://www.cnblogs.com/luyucheng/p/6289714.html...

灯下草虫鸣_
25分钟前
0
0
spring boot2.x设置quartz对一个job顺序执行

背景 使用quartz时,如果一个job的是1分钟,但是执行却要2分钟,quartz默认的是不会等job执行结束后,再执行下一次job,默认是会再开启一个线程执行该次job,这就可能导致一些重复执行的BUG...

EasyProgramming
30分钟前
0
0
iOS定向阴影的探讨

view.layer.shadowColor = [UIColor blackColor].CGColor; view.layer.shadowOpacity = 0.8f; view.layer.shadowRadius = 4.f; view.layer.shadowOffset = CGSizeMake(0,0); ......

RainOrz
42分钟前
0
0
oracle使用jdbc报错Locale not recognized解决方法

在开启数据库连接之前和之后添加时区参数:

源哥L
46分钟前
0
0
django2.0正则表达

re_path("userdetail-(?P<nid>\d+)/",views.user_detail), 解析时用re_path 否则出现not find page

南桥北木
49分钟前
0
0
Mac 安装jd-gui

安装brew 命令行输入 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 回车 安装jd-gui brew cask install jd-gui......

张欢19933
56分钟前
0
0
占坑

00000000000000000000000000000000000000000000000

钟元OSS
56分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部