0

イベントを取得したときにアラート ダイアログ ボックスを表示するアプリケーションを開発しています。現在、アラートはその特定のアクティビティでのみ発生します。通話中を除いて、すべての画面 (ホーム画面、メッセージ画面など) でこのアラートを受け取る必要があります。

これに対する解決策を提供してください。

4

4 に答える 4

2

引数として受け取り、ダイアログ全体を構築するUtils静的メソッドを持つクラスを作成します。Context

編集:

public class Utils {

    public static AlertDialog getDialog(Context context) {

        final AlertDialog.Builder builder = new AlertDialog.Builder(context);
        return builder
            .setTitle("title")
            .create()
            ;

    }

}

そして、必要なすべての場所でそれを呼び出します:

Utils.getDialog(context).show();
于 2012-08-31T06:15:24.997 に答える
1

この静的メソッドを配置するutilパッケージにAlartMessage.javaファイルを作成できます。

public static void showMessage(final Context c, final String title,
        final String s) {
    final AlertDialog.Builder aBuilder = new AlertDialog.Builder(c);
    aBuilder.setTitle(title);
    // aBuilder.setIcon(R.drawable.icon);
    aBuilder.setMessage(s);

    aBuilder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(final DialogInterface dialog, final int which) {
            dialog.dismiss();
        }

    });

    aBuilder.show();
}
于 2012-08-31T06:25:04.700 に答える
0

1 つのクラスを作成し、その中に 1 つのコンストラクターを作成します。Activity コンテキストをコンストラクターに渡します。ここで関数を 1 つ作成し、Alert Dialog のコードをその中に入れます。

そのダイアログが必要なときはいつでも、そのクラスのクレートオブジェクトでそれを呼び出し、アラートダイアログの関数を呼び出すことができます。

于 2012-08-31T06:15:51.703 に答える