zoukankan      html  css  js  c++  java
  • android AlertDialog显示错误 Unable to add window token null is not for an application解决办法

    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            findViewById(R.id.button1).setOnClickListener(new Button.OnClickListener() {
                
                public void onClick(View v) {
                    new AlertDialog.Builder(getApplicationContext())
                    .setTitle(R.string.dialogTitle)
                    .setMessage(R.string.dialogMessage)
                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(getApplicationContext(), "你按了确定。", Toast.LENGTH_SHORT).show();
                        }
                    }).show();
                }
            });
        }


    报错:Unable to add window token null is not for an application

      

    异常原因:AlertDialog创建语句public AlertDialog.Builder (Context context)中,不能使用getApplicationContext()得到的context,而必须使用Activity,所以解决如下

    解决办法:

    将 new AlertDialog.Builder(getApplicationContext()) 改为 new AlertDialog.Builder(MainActivity.this)

    其中MainActivity 为当前Activity的名称 
  • 相关阅读:
    javascript命名空间的简单实现
    javascript变量的作用域
    Python单元测试框架
    opencv中遍历图片数据的两种方法
    hsv 与 hsi 颜色空间
    OpenCV资料
    Linux下查看文件和文件夹大小
    The run destination iPhone 5.0 Simulator is not valid for running the scheme 'MyApp'
    OpenCV函数学习之cvLUT
    Linux中find常见用法示例
  • 原文地址:https://www.cnblogs.com/jxgxy/p/2652186.html
Copyright © 2011-2022 走看看