Я создал простой пользовательский макет, расширив ViewGroup
. Я создаю Button
и PopupMenu
на init()
. Если кнопка нажата, отобразится PopupMenu
. Проблема в том, что когда отображается PopupMenu
, если я вращаю устройство, я получаю следующее сообщение об ошибке.Вращение в то время как PopupMenu показывает, получает android.view.WindowLeaked
E/WindowManager: android.view.WindowLeaked: Активность просочилась окно android.widget.PopupWindow $ PopupDecorView {c44e7da VE ..... ...... ID 0,0-392,960 }, который первоначально был добавлен здесь
Я нашел подобный вопрос (PopupMenu PopupWindow$PopupViewContainer leak), и раствор вызова dismiss()
из PopupMenu
onStop()
. Однако, поскольку это не активность, а ViewGroup
, у меня нет onStop()
. Итак, я попытался найти аналогично названное событие и нашел onDetachedFromWindow()
. Я позвонил dismiss()
в onDetachedFromWindow()
.
onDetachedFromWindow()
действительно вызывается перед вращением экрана, но я все еще получаю сообщение об ошибке WindowLeaked.
Как я могу решить эту проблему? На самом деле, похоже, приложение работает нормально, и все, что я получаю, - это сообщение об ошибке в журнале. Незначительная ошибка?
Вы нашли решение? – Renjith