戻るボタンをクリックすると、ダイアログを表示します。 は、私がこのようなonBackPressed
方法作成に使用:onBackPressedメソッドでダイアログショーを自動的に閉じることを防止します。
@Override
public void onBackPressed() {
super.onBackPressed();
if (isNew || !isReport) {
if (!edtReportContent.getText().toString().isEmpty() && !edtReportContent.getText().toString().equals("")) {
Toast.makeText(activity, "گزارش شما به عنوان پیش نویس ذخیره شد!", Toast.LENGTH_LONG).show();
saveReport(1);
} else {
Toast.makeText(activity, "متن گزارش نمی تواند خالی باشد!", Toast.LENGTH_SHORT).show();
final Dialog dialog = new Dialog(activity);
dialog.setContentView(R.layout.dialog_remove_draft);
Button btnDelete = (Button) dialog.findViewById(R.id.btn_delete);
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
discardReport();
}
});
dialog.setCancelable(false);
dialog.show();
}
}
をしかし、私は戻るボタンをクリックしたとき、私のダイアログが数秒間表示され、自動的に消えます!何が問題ですか?
ありがとうございました。
(偽)dialog.setCancelableを再配置してみてください。次にdialog.show();を実行します。 –
私はそれをしました。しかし、それは助けにはなりません – Ehsan
super.onBackPressed()を削除します。 onclickダイアログを呼び出してください。 –