フラグメントでオプションメニューを実装する
参考
FragmentでActionBarを指定したい! - Qiita
実装の概要と注意点
編集するファイルは、フラグメントが紐付けられるアクティビティ.ktファイルとフラグメント.ktファイルである。 両ファイルともにonCreateOptionsMenuをオーバーライドする。またフラグメント.ktではsetHasOptionsMenu(true)を記述する必要がある。
ちなみにアクティビティ.ktにオーバーライドしたonCreateOptionsMenuを実装しないとエラーが生じる。
その記事は以下である。
エラー対処:java.lang.IllegalStateException: menu.findItem(R.id.action_settings) must not be null - diadia
実装手順
アクティビティ.ktの実装
- onCreateOptionsMenuのオーバーライドで、表示するオプションを決定する
フラグメント.ktの実装
- onCreateViewの中のsetHasOptionsMenu(true)を選択
- onCreateOptionsMenuのオーバーライドで、表示するオプションを決定する
- onOptionsItemSelectedでメニューの処理を設定