web-dev-qa-db-ja.com

Android戻るボタン;保存またはキャンセルしますか?

Androidユーザーがアイテムを追加/変更できるアクティビティを持つアプリに取り組んでいます。アクティビティの上部にあるアクションバーに[保存してキャンセル]ボタンがあります。それは全画面ダイアログのように動作します。これは、Googleのカレンダー(イベントの追加)アプリと連絡先(連絡先の追加/編集)アプリの動作に似ています。カレンダーと連絡先アプリの両方で、[戻る]ボタンは編集を保存しますが、これは私にとって非常に扱いにくい感じです。保存ボタンとキャンセルボタンのあるダイアログで、戻るボタンでキャンセルまたは保存を実行する必要がありますか?

9
BLeB

Developers.Android.comで、[ ] Android Appsの[戻ると上へのナビゲーション] ボタンに関する非常に役立つ情報を見つけることができます。

「戻る」ボタンの標準的な動作は、新しい順に移動することです

システムの[戻る]ボタンを使用すると、ユーザーが最近使用した画面の履歴を新しい順に移動できます。通常は、アプリの階層ではなく、画面間の一時的な関係に基づいています。

ダイアログで[戻る]ボタンをクリックするとウィンドウが閉じます。

[戻る]ボタンは、画面間のナビゲーションに直接関連付けられていないいくつかの動作もサポートしています。

  • フローティングウィンドウ(ダイアログ、ポップアップ)を閉じます
  • コンテキストアクションバーを閉じ、選択したアイテムからハイライトを削除します
  • 画面キーボード(IME)を非表示にします

では、なぜGoogleのカレンダー(イベントを追加)アプリと連絡先(連絡先を追加/編集)アプリの動作が異なり、「戻る」ボタンを使用して保存するのでしょうか。

これを理解するには、確認と確認に関するAndroidのガイドラインを参照する必要があります

  1. Confirmingは、ユーザーに、呼び出したアクションを本当に続行したいかどうかを確認するように要求しています。場合によっては、確認は、考慮する必要があるアクションに関連する警告または重要な情報とともに表示されます。 enter image description here
  2. Acknowledgingは、ユーザーが今実行したアクションが完了したことをユーザーに知らせるためのテキストを表示しています。これにより、システムが実行する暗黙の操作に関する不確実性が取り除かれます。場合によっては、確認がアクションを元に戻すオプションとともに表示されます。 enter image description here

あなたが言及したGoogleカレンダーの場合-ダイアログに[キャンセル]または[保存]ボタンがありません-ユーザーが[イベントを追加]画面から戻った場合、イベントは自動的に保存されます。

これは予期しないイベントである可能性があるため、アプリはトースト(「イベントが作成されました」)の形式で確認を使用してそれを明らかにします。

あなたの場合-「保存」ボタンと「キャンセル」ボタンのあるダイアログ-「戻る」ボタンは絶対に許可します。

  1. ダイアログを閉じます。ユーザーが[戻る]ボタンを使用したときに重大な結果(回復不可能なデータの損失、クレジットカードの請求など)がある場合は、必ず確認を求めてください。
  2. ユーザーを前の画面に戻します
4