这个错误通常发生在尝试在活动销毁后显示对话框时。这是因为活动已经被销毁,但对话框仍然尝试显示在活动上。
要解决这个问题,可以通过以下方式之一:
if (!isFinishing()) {
// 显示对话框的代码
}
private static WeakReference mActivityRef;
public static void setActivity(Activity activity) {
mActivityRef = new WeakReference<>(activity);
}
public static void showDialog() {
Activity activity = mActivityRef != null ? mActivityRef.get() : null;
if (activity != null && !activity.isFinishing()) {
// 显示对话框的代码
}
}
在活动的onCreate()方法中调用setActivity(this),然后在显示对话框的地方调用showDialog()。
希望这些解决方法能够帮助您解决问题!