やりたいこと
画面回転時にメニューのアイコンが二重に生成されてしまう問題を修正したい。
手順
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に、既に生成されているメニューもセットされてしまいます。
結果
画面回転してもメニューのアイコンが二重に生成されなくなりました!