2017-02-28 28 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

相關問題