как насчет создания нового экземпляра этого диалога, который вы хотите вызвать?Я на самом деле только что встретил ту же проблему, и это то, что я делаю.так что вместо:
if(!((Activity) context).isFinishing())
{
//show dialog
}
как насчет этого?
YourDialog mDialog = new YourDialog();
mDialog1.show(((AppCompatActivity) mContext).getSupportFragmentManager(), "OrderbookDialog");
}
так что вместо того, чтобы просто проверять, безопасно или нет показывать диалог, я думаю, что гораздо безопаснее, если мы простосоздайте новый экземпляр , чтобы показать диалоговое окно.
Как и я, в моем случае я пытался создать один экземпляр (из Fragment onCreate ) и вызвать экземпляр этого диалога в другом содержимом adaptorList , и это приведет к "ваша деятельность выполняется" - ошибка .Я думал, что это потому, что я просто создаю один экземпляр (из onCreate), а затем он уничтожается, поэтому, когда я пытался вызвать его из другого adapterList , я вызываю диалог из старого экземпляра.
Я не уверен, подходит ли мое решение для памяти или нет, потому что я не пытался его профилировать, но оно работает (конечно, безопасно, если вы не создадите слишком много экземпляров)