Я пробовал это, но диалоговое окно увольняется, когда действие завершено, потому что диалог принимает контекст Activity.Is есть какой-либо способ для него?Можем ли мы показать диалог после завершения Activity?
ответ
Когда действие завершено, вы не можете показать диалог со ссылкой. Поскольку активность в стеке активности отсутствует. вместо этого вы можете показать диалог, указав ссылку предыдущей операции.
Или вы можете использовать startActivityForResult
и показать диалоговое окно.
A Фрагменты жизни привязаны к деятельности, к которой она привязана, так что это ожидаемое поведение. Способ обойти это, скажем, чтобы активность B возвращала что-то в действие A до startActivityForResult
. Таким образом, диалоговое окно появляется сразу после завершения действия B, но сохраняет свою жизнь через Activity A, который не будет уничтожен в этот момент времени.
Вы можете попробовать сделать это с, контекст приложения
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
//Your dialog setup here
builder.show();
Вы можете использовать startActivityForResult и показать диалог в нем.
Или попробуйте ниже
if(someCondition){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("message")
.setPositiveButton("Yes", this)
.setNegativeButton("No", this);
builder.show();
} else {
finish();
}
Вы можете. Создайте отдельное действие, чтобы отобразить диалоговое окно. Определите активность диалога в манифесте следующим образом:
<activity android:name=".DialogActivity"
android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true" android:taskAffinity=""
android:launchMode="singleInstance">
</activity>
Определите свое диалоговое окно или все, что вы хотите показать в этой операции. Запустите эту функцию DialogActivity, когда вы закончите свою деятельность.
Это вполне соответствует моим потребностям. Поскольку вопрос закрыт, вы должны добавить этот ответ на http://stackoverflow.com/q/11143033/262789, что является аналогичным вопросом. – Benjamin
- 1. Можем ли мы загрузить динамический угловой диалог?
- 2. android - Как показать диалог после завершения операции
- 3. Можем ли мы сохранить сеанс после завершения сеанса?
- 4. Как мы можем изменить тему Activity
- 5. Можем ли мы SL4A терминал закрываться автоматически после завершения работы скрипта
- 6. Как мы можем дождаться завершения HTTP-запросов?
- 7. Можем ли мы вернуться после команды raise
- 8. Показать диалог после Application.Exit()
- 9. Показать диалог после startActivity
- 10. ListFragment: диалог отображения после завершения загрузчика
- 11. Невозможно остановить MusicPlayer даже после завершения Activity.
- 12. Android: Можем ли мы показать текст хираганы над кандзи?
- 13. Как мы можем показать напечатанный файл напрямую?
- 14. Как мы можем показать родительскую форму после показа формы отчета?
- 15. Можем ли мы отключить MouseEvents?
- 16. мы можем показать UIPopOver над UIWindow
- 17. Можем ли мы сохранить значения HashMap в памяти даже после завершения Java-кода?
- 18. Можем ли мы показать 3 Yvalues на контроле диаграммы?
- 19. Можем ли мы показать фид facebook GROUP на моем wesite?
- 20. Можем ли мы показать предупреждение, когда приложение попадает в ios?
- 21. Можем ли мы показать часть изображения в jquery?
- 22. Можем ли мы показать изображение продукта с другого сайта
- 23. Показать модальный диалог после формы
- 24. Показать диалог после получения sms
- 25. показать диалог после открытия операции
- 26. Можем ли мы помещать объекты BackGroundWorker
- 27. можем ли мы перезагрузить UIView?
- 28. Можем ли мы анимировать видимость?
- 29. Можем ли мы перегружать malloc()?
- 30. Можем ли мы поймать UnsupportedOperationException
Почему вы хотите отобразить диалоговое окно после завершения операции? Ответ на ваш вопрос - нет. – TheFlash
НЕТ нет способа. Также, чтобы избежать исключения WindowLeakException, я проверю флажок Activity isFinishing() перед отображением диалога – Blackbelt
в том же контексте активности, который вы не можете показать. –