android--------------只有activity才能产生子窗口----------context不行
2013-07-22 14:48
134 查看
忘记从哪里转来的,暂时不标注吧.
错误问题提示: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();
错误问题提示: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();
相关文章推荐
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析 .
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
- Android应用程序窗口(Activity)的视图对象(View)的创建过程分析
- Android中Activity.this,getApplicationContext(),getBaseContext()和this详解
- Android应用程序窗口(Activity)实现框架简要介绍和学习计划
- Android - Activity和Context的区别
- Android应用程序窗口(Activity)的窗口对象(Window)的创建过程分析
- Android基础教程(三)之------ Activity 窗口切换
- Android 窗口添加机制系列1-Activity
- Android 什么时候用Application的Context,什么时候用Activity的Context
- 【android】分析activity的context、应用程序入口及Context.openOrCreateDatabase
- Android中的Context、Activity和Application的区别