を拡張して、簡単なカスタム レイアウトを作成しましたViewGroup
。と を作成Button
しPopupMenu
ますinit()
。ボタンが押されると、PopupMenu
が表示されます。問題は、PopupMenu
が表示されているときにデバイスを回転させると、次のエラー メッセージが表示されることです。
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 エラー メッセージが表示されます。
どうすればこの問題を解決できますか? 実際、アプリケーションは正常に動作しているようで、ログにエラー メッセージが表示されるだけです。このエラーは無視できますか?