Я реализовал AlertDialog, который работает как диалог сообщений. Когда пользователь набирает сообщения, он может нажать кнопку «ОТПРАВИТЬ» или кнопку «ОТМЕНА». Кнопка «ОТПРАВИТЬ» работает нормально, но кнопка отмены по какой-то причине не работает.
findViewById(R.id.contactfab).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(Frontpage.this);
final AlertDialog dialog = dialogBuilder.create();
LayoutInflater inflater = Frontpage.this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.dialog_contact, null);
dialogBuilder.setView(dialogView);
final EditText editText = (EditText) dialogView.findViewById(R.id.contactText);
editText.setText("");
dialogView.findViewById(R.id.send_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String [] reciever = new String[]{"test@hotmail.com"};
String subject = ("Feedback");
Intent mailIntent = new Intent(Intent.ACTION_SEND);
mailIntent.putExtra(Intent.EXTRA_EMAIL, reciever);
mailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
mailIntent.putExtra(Intent.EXTRA_TEXT, editText.getText().toString());
mailIntent.setType("message/rfc822");
startActivity(Intent.createChooser(mailIntent, "Vælg en applikation til at sende din mail med"));
}
});
dialogView.findViewById(R.id.cancel_button).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
dialog.cancel();
}
});
dialogBuilder.show();
}
});
Чтобы проверить, слушает ли он кнопку отмены, я пытался заставить ее печатать строку при каждом нажатии кнопки. Строка печатается, но диалог не закрывается. Пробовал как с dialog.dismiss()
, так и с dialog.dismiss()
Что мне не хватает?