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的名称 
  • 相关阅读:
    awk-使用
    缓存使用
    一致性hash-java实现treemap版
    线程同步-CountDownLatch
    一致性hash算法
    linux-配置字符串-grep
    linux-查找命令-find
    linux-网络监控命令-netstat进阶
    linux-网络监控命令-netstat初级
    linux-单引号、双引号、反引号的区别。
  • 原文地址:https://www.cnblogs.com/jxgxy/p/2652186.html
Copyright © 2011-2022 走看看