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的名稱 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM