2012-01-11 40 views
13

Tôi đang cố gắng để bắt đầu một AlertDialog từ một onClickListener nhưng tôi nhận được lỗi sau.AlertDialog bên trong onClickListener

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

Có ai biết cách sửa lỗi này không?

 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(); 
     } 
    }); 

Trả lời

29

Thay đổi dòng này

new AlertDialog.Builder(this); 

để

new AlertDialog.Builder(YourActivity.this); 

Điều này là do các nhà xây dựng cần một loại Context & OnclickListner is not a Context type để bạn sử dụng các đối tượng của hoạt động của bạn.

Tôi hy vọng nó giúp ..

0

Trong new AlertDialog.Builder(this), this là đề cập đến người nghe, không phải là cá thể của lớp bên ngoài.

Các vấn đề liên quan