文档章节

android.view.WindowManager$BadTokenException: Unable to add window — token null

luhang
 luhang
发布于 2017/02/09 13:27
字数 363
阅读 7
收藏 0
点赞 0
评论 0
导致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。 

解决方法:将new AlertDialog.Builder(Context context)中的参数用Activity.this(Activity是你的Activity的名称)来填充就可以正确的创建一个Dialog了。 
Java代码  
  1. new AlertDialog.Builder(MyActivity.this)  
  2.                 .setIcon(android.R.drawable.ic_dialog_alert)  
  3.                 .setTitle("Warnning")  
  4.                 .setMessage(  
  5.                         "You forget to write the message. Do you want to fill out it ??")  
  6.                 .setPositiveButton("Yes", positiveListener).setNegativeButton(  
  7.                         "No", negativeListener).create().show();  


总结,

当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context。

Context是一个抽象基类,我们通过它访问当前包的资源(getResources、getAssets)和启动其他组件(Activity、Service、Broadcast)以及得到各种服务(getSystemService),当然,通过Context能得到的不仅仅只有上述这些内容。对Context的理解可以来说:Context提供了一个应用的运行环境,在Context的大环境里,应用才可以访问资源,才能完成和其他组件、服务的交互,Context定义了一套基本的功能接口,可以理解为一套规范,而Activity和Service是实现这套规范的子类,这么说也许并不准确,因为这套规范实际是被ContextImpl类统一实现的,Activity和Service只是继承并有选择性地重写了某些规范的实现。

本文转载自:http://blog.csdn.net/qq_18413391/article/details/52770446

共有 人打赏支持
luhang
粉丝 3
博文 15
码字总数 571
作品 0
长宁
程序员
ACTION_BOOT_COMPLETED手机重启后广播机制问题

写了一个简单的程序测试android系统重启后的广播调用 public class ReBootReceive extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { AlertD......

sexants ⋅ 2013/05/26 ⋅ 2

Android postDelay+Dialog引起的窗体泄露

Android中消息队列postDelay+Dialog引起的窗体泄露的主要原因是,当床窗体压入栈或者finish掉后,Activity由于需要处理postDelay而不能及时销毁,因此造成了一个问题,当dialog触发show方法时...

IamOkay ⋅ 2014/11/24 ⋅ 0

Unable to add window --token null is not valid;

今天遇到如下错误bug: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? 最后终于发现是PopupWindow组件的使用......

tyronejw ⋅ 2015/11/11 ⋅ 0

android学习—— context 和 getApplicationContext()

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

sw3458856 ⋅ 2014/04/29 ⋅ 0

android学习—— context 和 getApplicationContext()

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

fjabing ⋅ 2014/02/19 ⋅ 0

android.view.WindowManager$BadTokenException:~~

因为使用了AsyncTask 异步线程在线程完成以后的onPostExecute方法里面弹出窗口。 这个时候如果用户在onPostExecute调用之间按了返回按钮,activity已经onDestory了, 那么就会报出android.vie...

今日竹石 ⋅ 2014/04/15 ⋅ 0

上下文问题

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

OnOctober29 ⋅ 2016/03/29 ⋅ 0

Android 弹出框的exception

java.lang.RuntimeException: Unable to start service com.zshfzb.pop.MyService@41a76f10 with Intent { cmp=com.zshfzb/.pop.MyService }: android.view.WindowManager$BadTokenException......

深圳_小白菜 ⋅ 2014/04/21 ⋅ 0

关于popupwindow中双击EditText控件程序异常的问题

首先我的程序大概如下: 1.Activity中有一个Button事件用于出发显示popupwindow,定义popupwindow是在Activity的onCreate中,定义的代码如下: speedpop=new PopupWindow(getParent()); spe...

颠才泪狼空色 ⋅ 2013/10/18 ⋅ 1

Android异常:that was originally added here

02-19 15:08:02.228: E/WindowManager(22172): Activity com.test.activity.TestActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@427bebc8 that was or......

麦兜LK ⋅ 2014/02/19 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 45分钟前 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

MVC——统一报文格式的异常处理响应

在我们写controller层的时候,常常会有这样的困惑,如果需要返回一个数据是,可能为了统一回去构造一个类似下列的数据格式: { status:true, msg:"保存成功!", data:[]} 而且在写...

alexzhu592 ⋅ 昨天 ⋅ 0

[知乎]SSH框架

网上图书馆管理系统包括管理员管理和图书管理,图书借阅,查询模块等等,网上商城包括前台页面和后台管理页面,两个都是以前别人的实际项目,只是别人用的不是SSH,我把他们改用SSH了,除了S...

颖伙虫 ⋅ 昨天 ⋅ 0

android -------- 打开本地浏览器或指定浏览器加载,打电话,打开第三方app

开发中常常有打开本地浏览器加载url或者指定浏览器加载, 还有打开第三方app, 如 打开高德地图 百度地图等 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。 如果手机本身...

切切歆语 ⋅ 昨天 ⋅ 0

linux 安装docker

通过以下命令下载安装docker wget -qO- https://get.docker.com | sh 执行以上命令后输出以下内容说明安装成功,注意红框中的内容,docker安装成功后默认只有root能使用,红框中给出的提示是...

haoyuehong ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部