AlertDialog внутри onClickListener
Я пытаюсь запустить 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();
}
});
Ответы
Ответ 1
Измените эту строку
new AlertDialog.Builder( this );
к
new AlertDialog.Builder( YourActivity.this );
Это потому, что конструктору нужен тип Контекста и OnclickListner is not a Context type
, поэтому вы используете объект своей деятельности.
Надеюсь, это поможет.
Ответ 2
В new AlertDialog.Builder( this )
, this
относится к слушателю, а не к экземпляру внешнего класса.