2017-08-11 3 views
-4

ここに私のサイドバーのナビゲーションバーのスクリーンショットがあります。「アカウントまたは設定」をクリック可能にするにはどうすればよいですか?

enter image description here

私はこれを行うことができますどのように別のアクティビティに移動できるように、サイドバーナビゲーションメニューのクリック可能にアイテムを作りたいですか?

+3

恨みっこを使用しないことが、まず第一に、あなたがGoogleで検索するか、実装に関するいくつかのドキュメントを読んで、より簡単である 'NavigationView'あなたが使っていると思います。そして、あなたの質問 'navigationView.onNavigationItemSelected(MenuItem item)'はあなたを助けます。 – Yupi

答えて

0

これらをメニュー項目として扱わなければなりません。

レイアウトXMLからナビゲーションバーを設定すると、ナビゲーションバーに表示されるメニュー項目を含むmenu.xmlが添付されます。

方法1:あなたは、ナビゲーション・ビュー・オブジェクトからメニューを取得する必要があり、あなたのナビゲーションバーの変数を持っている活動から今

Menu menu = navigation_view.getMenu(); 

このメニューオブジェクトから個々のmenuItemを取得できます。

MenuItem myAccount = menu.getItem(0); 
MenuItem settingsItem = menu.getItem(1); 
MenuItem logoutItem = menu.getItem(2); 

このmenuItemオブジェクトのそれぞれを使用して、メニュークリックリスナーを設定し、そこから次のアクティビティを開始できます。例えば

myAccount.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { 
     @Override 
     public boolean onMenuItemClick(MenuItem menuItem) { 
      Intent intent = new Intent(context, ToAcitivity.class); 
      startActivity(intent); 
      return true; 
     } 
    }); 

同様に、残りのオブジェクトを使用してクリック可能にすることができます。

方法2: あなたが使用することもでき

navigation_view.setNavigationItemSelectedListener(new 
NavigationView.OnNavigationItemSelectedListener() { 
     @Override 
     public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
      switch (item.getItemId()){ 
       case 1: 
        break; 
       case 2: 

      } 
      return false; 
     } 
    }); 

2つ目

関連する問題