【Android Studio】フラグメントにメニューバーを表示する過程でつまずいたので解決策の備忘録【Java】

 アクテビティにメニューバーを追加するのは問題なくできるが、フラグメントにメニューバーを追加するのがうまくいかず困っていました。しかし、「テラテイル」というプログラミング関係専門の質問サイトで質問してみたところ、無事解決策が見つかりました。

結果から言うと・・・

 結果から言うとバージョンがAndroid Studio Flamingo | 2022.2.1であることが原因でした。どうやらこのバージョンからデフォルトでアクションバーが非表示になったようです。
 オプションメニューを表示させるにはアクションバーが存在することが前提なので、\res\values\themes.xml内の<style name=”Base.Theme.Test” parent=”Theme.Material3.DayNight.NoActionBar”>のNoActionBarの部分を削除することで、アクションバーが表示され、オプションメニューも問題なく表示させることができました。

そもそもの原因

 こうなってしまった原因は僕の学習環境が最新版のAndroid Studio Iguana | 2023.2.1で、参考にしているテキスト「基礎&応用力をしっかり育成! Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオン」の発売日が2023年01月24日ということもあって、使用しているバージョンに差異がでてしまったことが原因でした。
 この本が発売された時期の最新バージョンはElectric Elでその2か月後にFlamingo がリリースされたので、フラグメントの章にTheme.xmlに関する記述がなかったのも仕方がなかったのでした。
 
 しかし、どうもこのやり方も古いみたいで、AndroidStudioとしてはToolbarを推奨していたり、MenuProviderを使うのが新しいやり方みたいです。

終わりに

 やはり学習環境は学習するテキストの環境に合わせたほうがいいのかもしれません。
またSDKやらToolsやらをダウンロードしなくてはいけなくて、時間がかかるんだろうなと思うと億劫ですが、これからはしっかり学習環境合わせていきたいです。

 とりあえず今学習しているテキストが終わるまではNoActionBarを削除するやり方でやろうと思います。
それが終わったら、もしかしたら、ToolbarやMenuProviderを使ったやり方をレポするかもです。 

  • 9
  • 2
  • 4

おすすめのタグ

hru

狭く深くがモットー。実際のところは広く浅く。 音楽、プログラミング、その他諸々、できるだけ狭く深く語って行きたいです。

作者のページを見る

寄付について

「novalue」は、‟一人ひとりが自分らしく働ける社会”の実現を目指す、
就労継続支援B型事業所manabyCREATORSが運営するWebメディアです。

当メディアの運営は、活動に賛同してくださる寄付者様の協賛によって成り立っており、
広告記事の掲載先をお探しの企業様や寄付者様を随時、募集しております。

寄付についてのご案内