9

AlertDialog.Builderクラスを使用する必要があるコンテキストを誰かに説明してもらえますか?私はAndroidアプリの開発に不慣れで、どのコンテキストをいつ使用するかを率直に理解していませんか?

たとえば、AlertDialog.Builderクラスのオブジェクトを作成したい-

AlertDialog.Builder ab = new AlertDialog.Builder();
ab.setMessage("Test");

ab.show();

どのようなコンテキストで使用する必要がありますか?onCreateアラートダイアログを使用するかOnClickListener、そのようなイベントのハンドラーを使用するかは異なりますか?

4

3 に答える 3

15

実行元のアクティビティのコンテキストを使用する必要があります。言い換えれば、YourNameOfActivity.thisコンテキストとして使用するだけです。

于 2010-07-24T18:48:24.530 に答える
4

私のアプリの最初のバージョンでは、onCreateDialogを使用しないという間違いを犯し、代わりに自分でダイアログを作成して表示しました。自分で行う場合は、アクティビティが終了する前にダイアログを閉じるなどの注意を払う必要があります。そうしないと、ウィンドウがリークします。

私はあなたのアクティビティでonCreateDialogをオーバーライドし、ab.create()を返します(show()ではありません)。onCreateDialogがダイアログの表示を処理し、showDialog(id)を呼び出すだけです。

于 2010-07-24T19:12:34.203 に答える
1
AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setMessage("Test")
  .show;

(または)必要な場合(はい、いいえ)ボタンはこれを使用することを意味します

AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setMessage("Are you sure you want to exit?")
  .setPositiveButton("Yes", dialogClickListener)
  .setNegativeButton("No", dialogClickListener)
  .show();
于 2011-12-02T07:13:34.950 に答える