イベントを取得したときにアラート ダイアログ ボックスを表示するアプリケーションを開発しています。現在、アラートはその特定のアクティビティでのみ発生します。通話中を除いて、すべての画面 (ホーム画面、メッセージ画面など) でこのアラートを受け取る必要があります。
これに対する解決策を提供してください。
イベントを取得したときにアラート ダイアログ ボックスを表示するアプリケーションを開発しています。現在、アラートはその特定のアクティビティでのみ発生します。通話中を除いて、すべての画面 (ホーム画面、メッセージ画面など) でこのアラートを受け取る必要があります。
これに対する解決策を提供してください。
引数として受け取り、ダイアログ全体を構築する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();
この静的メソッドを配置する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();
}
1 つのクラスを作成し、その中に 1 つのコンストラクターを作成します。Activity コンテキストをコンストラクターに渡します。ここで関数を 1 つ作成し、Alert Dialog のコードをその中に入れます。
そのダイアログが必要なときはいつでも、そのクラスのクレートオブジェクトでそれを呼び出し、アラートダイアログの関数を呼び出すことができます。