「まずはやってみよう!」
時間を大切にして、のびのびと健康に生きるための情報発信ブログ

【Menu】画面回転でメニューのアイコンが二重に生成される問題の原因

やりたいこと

画面回転時にメニューのアイコンが二重に生成されてしまう問題を修正したい。

スポンサーリンク

手順

onCreateOptionsMenuでmenuをinflateする前にclearメソッドを呼んであげましょう。

override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
    menu?.clear()
    inflater?.inflate(R.menu.menu_main_fragment, menu)
}
MEMO
clearメソッドが呼ばれないと、Menuインターフェースを継承するMenuBuilderクラスのmItemsに、既に生成されているメニューもセットされてしまいます。

結果

画面回転してもメニューのアイコンが二重に生成されなくなりました!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA