2017-07-24 70 views
0

下面是我的我的NavigationDrawer的代碼。我認爲這與部分代碼是公開/私有或受保護有關。但我不確定。任何幫助將不勝感激。我有我的NavigationDrawer在MainActivity上工作。但是,當我切換Activites它消失

public class MainActivity extends AppCompatActivity 
      implements NavigationView.OnNavigationItemSelectedListener { 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
      setSupportActionBar(toolbar); 

      FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
      fab.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
          .setAction("Action", null).show(); 
       } 
      }); 

      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); 
      toggle.syncState(); 

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

     @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); 
     } 

     public boolean onNavigationItemSelected(MenuItem item) { 
      // Handle navigation view item clicks here. 
      switch(item.getItemId()){ 
       case R.id.my_account: 
        //Do code here 
        break; 
       case R.id.nav_news: 
        //Do code here 
        break; 
       case R.id.nav_live: 
        //Do code here 
        break; 
       case R.id.nav_media: 
        Intent intent=new Intent(MainActivity.this,activity_main_media.class); 
        startActivity(intent); 
        break; 
       case R.id.nav_calendar: 
        //Do code here 
        break; 
       case R.id.nav_results: 
        //Do code here 
        break; 
       case R.id.nav_about: 
        //Do code here 
        break; 
       case R.id.nav_shop: 
        //Do code here 
        break; 
       case R.id.nav_social_media: 
        //Do code here 
        break; 
       case R.id.nav_fanzone: 
        //Do code here 
        break; 

      } 

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


    } 
+0

你有次活動內DrawerLayout? – andrei

+0

您的抽屜只在mainactivity中,如果您需要它在activity_main_media中,您需要將它添加到那裏的佈局 – MidasLefko

+0

就像粘貼到我的activity_main_media一樣簡單? –

回答

0

導航抽屜屬於一個活動。當您將活動切換爲正常狀態時會丟失導航欄。您需要使用片段而不是活動。 Here是文檔。

不過,如果你仍然想使用活動導航欄上的每一個項目,你最好先看看here

相關問題