在android中常常会遇到与context有关的内容
来源:互联网 发布:虎牙直播点歌软件 编辑:程序博客网 时间:2024/05/01 10:15
在android中常常会遇到与context有关的内容
浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的 参数就是一个context,在这里我们传入的是this,那么这个this究竟指的是什么东东呢? 这里的this指的是Activity.this,是这个语句所在的Activity的this,是这个Activity 的上下文。网上有很多朋友在这里传入this.getApplicationContext(),这是不对的。 AlertDialog对象是依赖于一个View的,而View是和一个Activity对应的。 于是,这里涉及到一个生命周期的问题,this.getApplicationContext()取的是这个应 用程序的Context,Activity.this取的是这个Activity的Context,这两者的生命周期是不同 的,前者的生命周期是整个应用,后者的生命周期只是它所在的Activity。而AlertDialog应 该是属于一个Activity的,在Activity销毁的时候它也就销毁了,不会再存在;但是,如果传 入this.getApplicationContext(),就表示它的生命周期是整个应用程序,这显然超过了它 的生命周期了。 所以,在这里我们只能使用Activity的this。
new AlertDialog.Builder(getApplicationContext())时发生错误:
E/AndroidRuntime(5844): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
于是查了查:
getApplicationContext() 生命周期是整个应用,应用摧毁它才摧毁 Activity.this的context属于activity ,activity 摧毁他就摧毁
activity.this要返回一个activity,而getApplicationContext()就不一定返回一个activity
getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁
Activity.this的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁
getBaseContext()
- 在android中常常会遇到与context有关的内容
- android中常常会遇到与context和getApplicationContext()
- 在测试中常常会遇到各种未知的错误,如何解决呢
- 工作中常常会用到的git命令
- Selenium中常常会出现的问题
- 关于面试中常遇到的与框架(SSM、SSH)有关的问题
- 实际中常常会用到的算法:堆排序算法实例
- 技术人员在面试中常遇到的问题
- sqlserver2000在安装过程中常遇到的问题
- 在C语言编程中常遇到的几个问题
- Hadoop 在使用过程中常遇到的问题
- android集成apk到系统中常遇到的一些问题
- Apache HTTP Server上常会遇到的乱码问题
- 应聘外企常会遇到面试官提出的问题
- 应聘外企常会遇到面试官提出的问题
- 测试中常遇到的问题
- QT中常遇到的基本知识
- 开发中常遇到的错误
- 如何让 UITableView 的 headerView跟随 cell一起滚动
- 安装Ruby On Rails时运行“gem install rails”没有反应怎么办?
- 浅谈用户体验才是未来SEO优化的大趋势
- jdk 1.6 Internal Error (verifier.cpp:1524) guarantee(cp->cache() == NULL)
- Android的NDK开发(5)————Android JNI层实现文件的read、write与seek操作
- 在android中常常会遇到与context有关的内容
- 编译内核遇到的问题汇总
- json解析
- (2.1.2.3)Java多线程(三)、线程同步
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- 如何编写高效率稳定的单片机代码
- 嵌入式linux内核制作
- iOS UITextView 输入内容实时更新cell的高度
- OpenGl法向量计算