2012-01-11 153 views
13

我試圖從onClickListener啓動AlertDialog,但出現以下錯誤。AlertDialog onClickListener

The constructor AlertDialog.Builder(new View.OnClickListener(){}) is undefined 

有沒有人知道如何解決這個問題?

 mRecordButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      new AlertDialog.Builder(this) 
      .setTitle("Cast Recording") 
      .setMessage("Now recording your message") 
      .setPositiveButton("Save", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        Log.d("AlertDialog", "Positive"); 
       } 
      }) 
      .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        Log.d("AlertDialog", "Negative"); 
       } 
      }) 
      .show(); 
     } 
    }); 

回答

29

改變這一行

new AlertDialog.Builder(this); 

new AlertDialog.Builder(YourActivity.this); 

這是因爲構造函數需要一個上下文類型& OnclickListner is not a Context type讓你用你的活動的對象。

我希望它有助於..

0

new AlertDialog.Builder(this)this指的是聽衆,而不是外部類的實例。