質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

1867閲覧

androidアプリ ハンバーガーメニューが表示されずに戻る(←)が表示される

NasuAppDev

総合スコア6

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2020/03/31 12:56

前提・実現したいこと

自分が開発しているアプリのTookBarにハンバーガーメニューを表示させ、クリックすると左側からメニューがスライドして表示されるメニューを追加したい。

発生している問題・エラーメッセージ

android studioのデフォルトで用意されているNavigation Drawer Activityを丸々コピーしたがハンバーガーメニューではなく、戻る(←)が表示されてしまう

該当のソースコード

Java

1 @Override 2 protected void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 setContentView(R.layout.activity_main); 5 6 // ツールバーを設定する 7 Toolbar toolbar = findViewById(R.id.tb_toolbar) ; 8 setSupportActionBar(toolbar); 9 10 DrawerLayout drawer = findViewById(R.id.drawer_layout); 11 NavigationView navigationView = findViewById(R.id.nav_view); 12 // Passing each menu ID as a set of Ids because each 13 // menu should be considered as top level destinations. 14 appBarConfiguration = new AppBarConfiguration.Builder(R.id.nav_appabout, R.id.nav_contact ) 15 .setDrawerLayout(drawer) 16 .build(); 17 NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment); 18 NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration); 19 NavigationUI.setupWithNavController(navigationView, navController); 20 }

試したこと

・android studioのデフォルトで用意されているNavigation Drawer Activityのxml、styleもコピー

補足情報(FW/ツールのバージョンなど)

android studio 3.5.2
API 29

サンプルと全く同じように記述しているつもりですがハンバーガーメニューが表示されずに戻る(←)ボタンが表示されてしまいます。
全く同じ記述といってますがactivity_mainから複数のActivityを表示したりしています。

この事象を解決するためにどこをチェックすればよいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/04/01 02:10

res/navigation/mobile_navigation.xml には何が書いてありますか?
NasuAppDev

2020/04/01 04:02

res/navigation ファイルの中にあるnavigation.xml ファイルの中身です。 <?xml version="1.0" encoding="utf-8"?> <navigation xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/navigation" app:startDestination="@id/bookshelfFragment"> <fragment android:id="@+id/bookshelfFragment" android:name="com.nasuappdev.notes2mem.bookshelf" tools:layout="@layout/bookshelf"> </fragment> <fragment android:id="@+id/booksearchFragment" android:name="com.nasuappdev.notes2mem.booksearch" android:label="@string/app_booksearch" tools:layout="@layout/booksearch" app:defaultNavHost="true"/> <fragment android:id="@+id/booksearchresultFragment" android:name="com.nasuappdev.notes2mem.booksearchresult" tools:layout="@layout/booksearchresult"/> </navigation> ちなみにもう1つnavigationファイルを作成しています。 上記のnavigationファイルはmain_activityと連携し、別のactivityから別のnavigationファイルが連携しています。
guest

回答1

0

自己解決

解決しました!!

以下の部分に、startDestinationとなるFragmentのIDが設定されていなかったため

<修正前>

Java

1appBarConfiguration = new AppBarConfiguration.Builder(R.id.nav_appabout, R.id.nav_contact )

XML

1<?xml version="1.0" encoding="utf-8"?> 2<menu 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:tools="http://schemas.android.com/tools" 5 tools:showin="navigation_view"> 6 7 <group android:checkableBehavior="single"> 8 <item 9 android:id="@+id/bookshelfFragment" ← これ!! 10 android:title="@string/nva_home"/> 11 <item 12 android:id="@+id/howtouseFragment" 13 android:title="@string/nav_appabout"/> 14 <item 15 android:id="@+id/nav_contact" 16 android:title="@string/nav_contact"/> 17 </group> 18</menu>

<修正後>

Java

1appBarConfiguration = new AppBarConfiguration.Builder(R.id.bookshelfFragment, R.id.nav_appabout, R.id.nav_contact )

投稿2020/04/01 12:42

NasuAppDev

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問