2016-05-24 8 views
0

私のアプリでは、前の引き出しのアンドロイドの引き出しにあるナビゲーションバーの項目をクリックして新しい引き出しを開きます。今のように私はmainactivity.javaと断片がその活動に関与していた。今、私はmainactivity.java引き出し項目のいずれかの項目をクリックすると、それは私が 前の引き出しアイテムの特定の断片のクリックで次の引き出しを開く方法

public class MainActivity extends AppCompatActivity{ 
    DrawerLayout mDrawerLayout; 
    NavigationView mNavigationView; 
    FragmentManager mFragmentManager; 
    FragmentTransaction mFragmentTransaction; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main_coordinator); 

     /** 
     *Setup the DrawerLayout and NavigationView 
     */ 

      mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); 
      mNavigationView = (NavigationView) findViewById(R.id.shitstuff) ; 

     /** 
     * Lets inflate the very first fragment 
     * Here , we are inflating the TabFragment as the first Fragment 
     */ 

      mFragmentManager = getSupportFragmentManager(); 
      mFragmentTransaction = mFragmentManager.beginTransaction(); 
      mFragmentTransaction.replace(R.id.containerView,new TabFragment()).commit(); 
     /** 
     * Setup click events on the Navigation View Items. 
     */ 

      mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { 
      @Override 
      public boolean onNavigationItemSelected(MenuItem menuItem) { 
       mDrawerLayout.closeDrawers(); 



       if (menuItem.getItemId() == R.id.nav_item_home) { 
        FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction(); 
        fragmentTransaction.replace(R.id.containerView,new coordinatorPanelFragment()).commit(); 

       } 


       if (menuItem.getItemId() == R.id.nav_item_fllclass) { 
        FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction(); 
        xfragmentTransaction.replace(R.id.containerView,new fillClassFragment()).commit(); 
       } 
/// 

       if (menuItem.getItemId() == R.id.nav_item_fillstudent) { 
        FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction(); 
        fragmentTransaction.replace(R.id.containerView,new fillStudentFragment()).commit(); 

       } 


       if (menuItem.getItemId() == R.id.nav_item_fillschedule) { 
        FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction(); 
        xfragmentTransaction.replace(R.id.containerView,new fillscheduleFragment()).commit(); 
       } 


       if (menuItem.getItemId() == R.id.nav_item_seebunk) { 
        FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction(); 
        xfragmentTransaction.replace(R.id.containerView,new seeBunkedStudentFragment()).commit(); 
       } 

       if (menuItem.getItemId() == R.id.nav_item_cus) { 
        FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction(); 
        xfragmentTransaction.replace(R.id.containerView,new ContactusFragment()).commit(); 
       } 

       if (menuItem.getItemId() == R.id.nav_item_help) { 
        FragmentTransaction xfragmentTransaction = mFragmentManager.beginTransaction(); 
        xfragmentTransaction.replace(R.id.containerView,new helpCoorFragment()).commit(); 
       } 





       return false; 
      } 

     }); 

     /** 
     * Setup Drawer Toggle of the Toolbar 
     */ 

       android.support.v7.widget.Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.toolbar); 
       ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this,mDrawerLayout, toolbar,R.string.app_name, 
       R.string.app_name); 

       mDrawerLayout.setDrawerListener(mDrawerToggle); 

       mDrawerToggle.syncState(); 

    } 

作るためのこれらのだった私のコードmainActivity.java

の私のコードを添付していた項目に異なる値を持つ別の引き出しを開けなければならないことを望むもの私は検索していたが、Googleで答えが見つかりませんでした。それはGoogleドライブのアプリと同じです。

答えて

1

これらの例を参照してください。あなたの問題に役立つことを祈っています。 http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

ナビゲーション・ドロワーを使用したAndroidスライディング・メニューのチュートリアルです。必要なコードはここに貼り付けています: -

private class SlideMenuClickListener implements 
      ListView.OnItemClickListener { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 
      // display view for selected nav drawer item 
      displayView(position); 
     } 
    } 

    /** 
    * Diplaying fragment view for selected nav drawer list item 
    * */ 
    private void displayView(int position) { 
     // update the main content by replacing fragments 
     Fragment fragment = null; 
     switch (position) { 
     case 0: 
      fragment = new HomeFragment(); 
      break; 
     case 1: 
      fragment = new FindPeopleFragment(); 
      break; 
     case 2: 
      fragment = new PhotosFragment(); 
      break; 
     case 3: 
      fragment = new CommunityFragment(); 
      break; 
     case 4: 
      fragment = new PagesFragment(); 
      break; 
     case 5: 
      fragment = new WhatsHotFragment(); 
      break; 

     default: 
      break; 
     } 

     if (fragment != null) { 
      FragmentManager fragmentManager = getFragmentManager(); 
      fragmentManager.beginTransaction() 
        .replace(R.id.frame_container, fragment).commit(); 

      // update selected item and title, then close the drawer 
      mDrawerList.setItemChecked(position, true); 
      mDrawerList.setSelection(position); 
      setTitle(navMenuTitles[position]); 
      mDrawerLayout.closeDrawer(mDrawerList); 
     } else { 
      // error in creating fragment 
      Log.e("MainActivity", "Error in creating fragment"); 
     } 
    } 
関連する問題