2011-07-19 17 views
2
@Override 
protected void onStop() { 
    super.onStop(); 

    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setMessage("Test message") 
      .setCancelable(true) 
      .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        dialog.cancel(); 
       } 
      }); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
} 

これは明らかにダイアログが表示されるとすぐに動作しません - アクティビティは停止します(ダイアログは消えます)。このissuseを解決する方法?コールアラートダイヤルonStop/onPause

アクティビティが残ったら(戻るボタン、他のアクティビティにつながるボタンをクリックする、通知をクリックするなど)、結果を表示するとすぐにデータベースに設定を保存したいAlertDialog?

さらに、Androidがアクティビティが終了することを認識すると、設定が保存され、AlertDialogが表示されてから、最後にonClickアクティビティが閉じられます。

答えて

1

onStopとで時間とユーザーの注目を集めることを試みることは非常に悪い習慣です。通常、これらのメソッドはいくつかのデータを保存するために使用されます。 Toastを表示しようとすることもできますが、これは通常の方法ではないため、何も表示しないことが最善の方法です。本当にあなたが示す必要があることは何ですか?これは最初に解決しなければならない問題です。

+0

設定作業があります。ユーザーがアクティビティを離れるとき、設定が送信された後に表示する必要がある2つの文字列値(タイトル、本文)を返すHttpPost経由で設定をサーバーに送信する必要があります。あなたはどんな方法を提案しますか? – svenkapudija

0

ユーザーがアプリケーションを終了するか、アプリケーションがonPause()を要求したときに設定を送信する必要があると思います。なぜあなたは戻るボタンが押されたと言うことができるアプリケーションを終了するすべての方法を把握しようとしないので、これらすべてのイベントのリスナーを追加してください。そして、送信する。

1

処理が完了したら、super.onStop()を呼び出す必要があります。