2017-05-05 125 views
0

我已經搜索了很多,嘗試了一切,我通過類似問題的解決方案,但沒有幫助。 請告訴我我在代碼中犯了什麼錯誤,或者是否有我離開的東西。 請幫助我。任何更正都是可以理解的。 謝謝新的活動不啓動時,點擊導航抽屜項目

 DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
      this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    // drawer.setDrawerListener(toggle); 
    drawer.addDrawerListener(toggle); 
    toggle.syncState(); 

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
    navigationView.setNavigationItemSelectedListener(this); 


    listView = (ListView) findViewById(R.id.list); 
    adapter = new Adapter(this, list); 
    listView.setAdapter(adapter); 
} 

    @Override 
    public void onBackPressed() { 
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     if (drawer.isDrawerOpen(GravityCompat.START)) { 
      drawer.closeDrawer(GravityCompat.START); 
     } else { 
      super.onBackPressed(); 
     } 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 

    @SuppressWarnings("StatementWithEmptyBody") 
    @Override 
    public boolean onNavigationItemSelected(MenuItem item) { 
     // Handle navigation view item clicks here. 
     int id = item.getItemId(); 
     switch (id) { 
      case R.id.nav_camera: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       Intent i = new Intent(MyBookings.this, Categories.class); 
       startActivity(i); 
       break; 
      case R.id.nav_gallery: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
      case R.id.nav_slideshow: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
      case R.id.nav_share: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
      case R.id.nav_send: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
     } 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.closeDrawer(GravityCompat.START); 
     return false; 
    } 
} 
+0

嘗試使用片段而不是活動導航抽屜裏。 –

+0

我不需要其他活動中的導航抽屜。這就是爲什麼我不使用片段。我想開始新的活動,當我點擊項目 – Dev

+0

行。然後在開始新活動後結束當前活動。 –

回答

0

試圖改變你的方法返回的布爾:

@SuppressWarnings("StatementWithEmptyBody") 
    @Override 
    public boolean onNavigationItemSelected(MenuItem item) { 
     // Handle navigation view item clicks here. 
     int id = item.getItemId(); 
     switch (id) { 
      case R.id.nav_camera: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       Intent i = new Intent(MyBookings.this, Categories.class); 
       startActivity(i); 
       break; 
      case R.id.nav_gallery: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
      case R.id.nav_slideshow: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
      case R.id.nav_share: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
      case R.id.nav_send: 
       //Do some thing here 
       // add navigation drawer item onclick method here 
       break; 
     } 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.closeDrawer(GravityCompat.START); 
     return true; 
    } 
0

試試這個變化::

Intent i = new Intent(MyBookings.this, Categories.class); 
startActivity(i); 
finish(); 
0

只需從switch語句的結尾處,刪除這兩條線

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
drawer.closeDrawer(GravityCompat.START); 

讓true.and我知道,如果可以幫助

+0

nope ...它不工作 – Dev

0

變化復位開關語句前加上導覽線

@Override 
     public boolean onNavigationItemSelected(MenuItem item) { 
      // Handle navigation view item clicks here. 

      DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
      drawer.closeDrawer(GravityCompat.START); 

      int id = item.getItemId(); 
      switch (id) { 
       case R.id.nav_camera: 
        //Do some thing here 
        // add navigation drawer item onclick method here 
        Intent i = new Intent(MyBookings.this, Categories.class); 
        startActivity(i); 
        break; 
       case R.id.nav_gallery: 
        //Do some thing here 
        // add navigation drawer item onclick method here 
        break; 
       case R.id.nav_slideshow: 
        //Do some thing here 
        // add navigation drawer item onclick method here 
        break; 
       case R.id.nav_share: 
        //Do some thing here 
        // add navigation drawer item onclick method here 
        break; 
       case R.id.nav_send: 
        //Do some thing here 
        // add navigation drawer item onclick method here 
        break; 
      } 
       return true; 
     } 
    }