2012-01-11 4 views
13

onClickListener에서 AlertDialog를 시작하려고하는데 다음 오류가 발생합니다.onClickListener 내 AlertDialog

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(YourActivity.this); 

생성자 & OnclickListner is not a Context type 그래서 당신은 당신의 활동의 객체를 사용하여 상황에 맞는 유형을 필요로하기 때문이다이 라인

new AlertDialog.Builder(this); 

. 나는 그것이 도움이되기를 바랍니다

.. new AlertDialog.Builder(this)에서

0

, this는 청취자가 아닌 외부 클래스 인스턴스를 참조한다.