ユーザーが新しいレコードを作成できるようにする DialogFragment があります。close イベントをインターセプトして、データの入力を開始したかどうかをテストし、開始した場合は、保存されていない変更が失われるように促します。閉じるボタンを追加したくないので、ユーザーは画面の外側の任意の場所をクリックしてダイアログを閉じることができます。
ユーザーがキャンセルしないことを選択した場合、ダイアログを閉じるアクションをキャンセルできるイベントはありますか?
この回答で説明されていることと同様のことを行うことができます-境界の内側と外側の両方ですべてのタッチイベントを傍受するアクティビティを作成し、キャプチャされたタッチイベントで ACTION_OUTSIDE をチェックします。これは、フラグメントではなくダイアログに別のアクティビティを使用しているため、フラグメントの使用が厳密な要件である場合、この方法は機能しません。