2017-02-28 5 views
0

AndroidプロジェクトにサイドバーNavigationDrawerを実装しようとしています。 DrawerLayoutNavigationViewを使用しました。私はメニューを使用して項目を表示する。 追加したメニュー項目にクリックイベントを追加します。参照用AndroidのNavigationViewのアイテムにクリックイベントを追加するには

コード:ナビゲーションメニューで - ビューで

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/nav_account" android:title="My Account"/> 
    <item android:id="@+id/nav_settings" android:title="Settings"/> 
    <item android:id="@+id/nav_layout" android:title="Log Out"/> 
</menu> 

<android.support.design.widget.NavigationView 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     app:menu="@menu/navigation_menu" 
     android:layout_gravity="start" /> 

答えて

10
  1. あなたの活動にリスナーを実装します。

    public class HomeActivity extends AppCompatActivity implements 
           NavigationView.OnNavigationItemSelectedListener 
    
  2. 活動の中のonCreate setNavigationItemSelectedListener

    NavigationView mNavigationView = (NavigationView) findViewById(R.id.account_navigation_view); 
    
    if (mNavigationView != null) { 
         mNavigationView.setNavigationItemSelectedListener(this); 
    } 
    
  3. オーバーライドメソッドあなたがOnNavigationItemSelectedListener(MenuItem item)メソッドを使用する必要が

    public boolean onNavigationItemSelected(MenuItem item) { 
        // Handle navigation view item clicks here. 
        int id = item.getItemId(); 
    
        if (id == R.id.nav_account) {//DO your stuff } 
        ... 
    } 
    
+0

ありがとうございます!それは修正の一行で働いた –

関連する問題