現在、Android プロジェクトに取り組んでおり、コンテキストと AlertDialogs に問題があります。
フラグメントを拡張するクラスがあり、フラグメントCommon
からコンテキストが渡された標準 Java クラスのインスタンスを作成します。クラスには、Common
警告ダイアログを表示し、ユーザーがクリックしたものに基づいてブール値を返すコードがあります。
Activity を拡張する標準クラスでは、次を使用して Common クラスのインスタンスを作成できます。
Common common = new Common(this);
次に、次のコードを使用して、このクラス内で show alert dialog 関数を呼び出すことができます。
common.showYesNoDialog("This is my message", false);
上記のコードは、標準Activity
クラスの場合は正常に機能します。私の問題はこれです。
フラグメントを拡張するクラスでthis
は、共通クラスに渡すことができないため、代わりに次のコードを使用する必要があります。
Common common = new Common(getActivity().getApplicationContext());
通常どおり次のコードを使用します。
common.showYesNoDialog("This is my message", false);
上記の関数を呼び出すと、次のエラーが発生します。
FATAL EXCEPTION: main
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application.
ご協力いただきありがとうございます。