`

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

阅读更多
错误产生:
private Context mcontext;

	@Override
	protected void onCreate(Bundle savedInstanceState) {mcontext = getApplicationContext();
		System.out.println("mcontext=" + mcontext);

	}

	new AlertDialog.Builder(mcontext)
				.setIcon(android.R.drawable.ic_dialog_alert)
				.setTitle("Warnning")
				.setMessage(
						"You forget to write the message. Do you want to fill out it ??")
				.setPositiveButton("Yes", positiveListener).setNegativeButton(
						"No", negativeListener).create().show();


导致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。

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


分享到:
评论
9 楼 twlkyao 2014-02-20  
问题解决,谢谢。
8 楼 unknown-after 2013-04-19  
谢了,问题解决了
7 楼 大板砖 2012-03-14  
感谢你的分享,使我纠正了技术上的误解,看来不能一味的用getApplicationContext这个方法,再次感谢
6 楼 wisdom8848 2011-12-20  
[color=brown][/color]阿什顿飞
5 楼 byandby 2011-08-16  
追求幸福 写道
byandby 写道
弹窗 操作 如果 在 Activity  启动 之后 可以这样做, 要是 这个 Activity 还没启动 ,  就不可以这样  操作了。

啥意思?

又 Google到你这篇文章了,弹窗操作如果 在其它的类里边 比如随便一个View里边,不是在Activity里边  应该是不可以 这样操作的。 
4 楼 追求幸福 2011-07-14  
byandby 写道
弹窗 操作 如果 在 Activity  启动 之后 可以这样做, 要是 这个 Activity 还没启动 ,  就不可以这样  操作了。

啥意思?
3 楼 byandby 2011-07-12  
弹窗 操作 如果 在 Activity  启动 之后 可以这样做, 要是 这个 Activity 还没启动 ,  就不可以这样  操作了。
2 楼 byandby 2011-07-12  
    so  good
1 楼 jelver 2010-10-31  
,thanks

相关推荐

    android dialog与popwindow之间的简单运用

    注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...

    Android 中 android.view.WindowLeaked的解决办法

    Android 中 android.view.WindowLeaked的解决办法 按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢? 产生原因: 我们知道Android的每一个Activity都有个...

    android13 WindowManager-Shell.jar

    android13 WindowManager-Shell.jar

    Android开发解决popupWindow重叠报错问题

    ERROR/AndroidRuntime(888): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44ef1b68 is not valid; is your activity running? 报错的意思大概就是说...

    WindowManager属性详解

    WindowManager属性详解:WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。 它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。

    Android之泡泡效果bubble.rar

    import android.view.WindowManager; import android.view.View.OnTouchListener; import android.widget.FrameLayout; import android.widget.ImageView; public class BubbleExplosion extends Activity { ...

    Android 设置应用全屏的两种解决方法

    在开发中我们经常需要把我们的应用设置为全屏,有两种方法... import android.view.Window; import android.view.WindowManager; public class OpenGl_Lesson1 extends Activity { public void onCreate(Bundle sa

    android.service.java

    manager = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); params = SingleLayoutParams.getLayoutParams(); View lay = LayoutInflater.from(this).inflate(R.layout.mylinearlayout, ...

    Android代码-Android-FloatWindow

    FloatWindow readme-中文 Android自定义悬浮窗 原理很简单,就是借用了WindowManager这个管理类来实现的。 ...The principle is very simple, is to borrow WindowManager this management class

    Android悬浮窗实现 使用WindowManager Demo

    Android悬浮窗实现 使用WindowManager实现像电视顶端文字广告栏效果,开发工具:AS

    Android 实现可任意拖动的悬浮窗功能(类似悬浮球)

    最近开发项目中,有个在屏幕上任意拖动的悬浮窗功能,其实就是利用 WindowManager的api来完成这个需求,具体的实现的功能如下: 1.自定义view import android.content.Context; import android.content.Intent; ...

    音乐播放器(J2ME)

    3 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 然而,这两种方法都不能达到我们在视频播放过程中设置全屏与否的目的。因为它们都只能在初始化的时候决定全屏与否。那么我现在要说的就是第三种...

    炫舞吧 android 游戏开发

    import android.view.WindowManager; import android.view.SurfaceHolder.Callback; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; import android.widget....

    深入理解Android中的Window和WindowManager

    Window表示一个窗口的概念,Window是...Android中,所有的视图都是通过Window来呈现,不管是Activity、Dialog、还是Toast,它们的视图实际上都是附加在Window上,因此Window是实际View的直接管理者,单击事件由Window传

    安卓开发当中遇到的的一些案例代码及其详细介绍

    view plaincopy to clipboardprint? package com.himi;  import android.app.Activity;  import android.os.Bundle;  import android.view.Window;  import android.view.WindowManager;  public class ...

    ImmersiveFullscreenTest:沉浸式全屏模式的超级简单示例

    沉浸式全屏测试 沉浸式全屏模式的超级简单示例。...import android.view.WindowManager; public class ImmersiveFullscreenTestActivity extends Activity { @Override protected void onCreate(Bundle savedInsta

    WindowManager.docx

    整理了Android中WindowManager.LayoutParams.type、WindowManager.LayoutParams.flags、WindowManager.LayoutParams.softInputMode等属性,含注解。

    Android悬浮框权限判断WindowManager

    这个是一个悬浮框权限的判断代码,基本涵盖市面上主流手机的判断,可以直接下载使用,测试过,非常的好用

    Android利用WindowManager实现悬浮窗

    主要为大家详细介绍了Android利用WindowManager实现悬浮窗效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    windowmanager悬浮窗口

    调用WindowManager,并设置WindowManager.LayoutParams的相关属性,通过WindowManager的addView方法创建View,这样产生出来的View根据WindowManager.LayoutParams属性不同,效果也就不同了。比如创建系统顶级窗口,...

Global site tag (gtag.js) - Google Analytics