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的名称 
  • 相关阅读:
    [NOIP2011提高组]聪明的质监员
    NOIP 2010 关押罪犯
    题目:埃及分数
    用scanf输入long long 型的数
    poj 1014 Dividing
    Cactus
    SQLite数据库的增删改查代码
    UltraGrid常用方法属性代码
    维护数据表常用SQL语句
    C#备份收藏夹代码
  • 原文地址:https://www.cnblogs.com/jxgxy/p/2652186.html
Copyright © 2011-2022 走看看