我是一個新的android開發人員,最近遭受了一個問題。應用程序崩潰時創建一個null上下文的alertDialog
背景是我需要顯示一個AlertDialog
當一個後端asyncTask完成。但是,經過很長時間的asyncTask後,活動可能會是GC'd,因此AlertDialog的輸入參數的上下文爲空。是否有解決此問題的任何解決方法。
我用這個函數來顯示對話框:
public static Dialog showDialog(
Context ctx, int themeId, String title, String message,
int okStrId, android.content.DialogInterface.OnClickListener okListener,
int cancelStrId, android.content.DialogInterface.OnClickListener cancelListener) {
if (ctx != null) {
AlertDialog.Builder builder;
if (themeId > 0)
builder = new AlertDialog.Builder(new ContextThemeWrapper(ctx, themeId));
else
builder = new AlertDialog.Builder(ctx);
if (title != null)
builder.setTitle(title);
builder.setMessage(message);
builder.setPositiveButton(ctx.getString((okStrId < 0) ? R.string.ok : okStrId),
(okListener != null) ? okListener : sDefaultDialogListener);
if (cancelListener != null)
builder.setNegativeButton(ctx.getString((cancelStrId < 0) ? R.string.cancel : cancelStrId), cancelListener);
else {
builder.setCancelable(false);
}
AlertDialog ad = builder.create();
ad.show();
return ad;
}else {
Context context = SuccessFactorsApp.getAppContext();
DialogActivity.launchActivity(ctx,themeId,title,message,okStrId,okListener,cancelStrId,cancelListener);
return new AlertDialog.Builder(context).create();
}
}
我試圖用一個活動來模擬對話,但不知道如何處理DialogInterface.OnClickListener
。
請發表您的LogCat! –