0

やりたいこと: アプリケーションの起動時に、データベースから電子メール アドレスを読み取ります。電子メール アドレスが設定されていない場合は、電子メール アドレスを追加するための別のダイアログ アクティビティが開始されます。

ユーザーが電子メールを追加しない場合、そのダイアログ アクティビティを閉じることができないため、閉じるボタンをクリックしてもダイアログ アクティビティは閉じません。

私が抱えている問題は、ユーザーが [戻る] ボタンをクリックすると、ダイアログ アクティビティが閉じ、電子メール アドレスが設定されていない状態でメイン アクティビティが開始されることです。私がやりたいことは、この場合、ユーザーが戻るボタンをクリックしてアプリケーションを閉じることです。

メールアドレスを編集したいときは、同じダイアログアクティビティを使用していることに言及する必要があります。

4

3 に答える 3

1

オーバーライドonBackPressedし、ユーザーがメールアドレスを挿入したかどうかを確認します。super.onBackPressed()を呼び出さずに戻るだけではない場合。

@Override
public void onBackPressed() {
    if(yourEmailEditText.getText() == null 
       || yourEmailEditText.getText().toString().trim().length() == 0){
          return
    }
    super.onBackPressed();
}
于 2012-10-29T10:20:53.960 に答える
1

onBackPressed() メソッドをオーバーライドしてみて、何もしないでください。

于 2012-10-29T10:16:53.257 に答える