2017-02-28 41 views
0

我想在我的Android项目中实现Sidebar NavigationDrawer。 为此,我在DrawerLayout中使用了NavigationView。显示我使用菜单的项目。 我想在添加的菜单项上添加点击事件。如何将点击事件添加到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> 

在View:

<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. setNavigationItemSelectedListener中的onCreate活动

    NavigationView mNavigationView = (NavigationView) findViewById(R.id.account_navigation_view); 
    
    if (mNavigationView != null) { 
         mNavigationView.setNavigationItemSelectedListener(this); 
    } 
    
  3. 覆盖的方法

    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

谢谢!它适用于一行修改 –

2

你必须使用OnNavigationItemSelectedListener(MenuItem item)方法。

更多检查documentation

相关问题