2017-07-04 20 views
0

代码滑菜单:的Android滑菜单控制不会相应页面

mTitle = mDrawerTitle = getTitle(); 
     mPlanetTitles = getResources().getStringArray(R.array.planets_array); 
     mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
     mDrawerList = (ListView) findViewById(R.id.left_drawer); 

     mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); 
     // set up the drawer's list view with items and click listener 
     mDrawerList.setAdapter(new ArrayAdapter<String>(this, 
       R.layout.drawer_list_item, mPlanetTitles)); 
     mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 

     mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 

     // enable ActionBar app icon to behave as action to toggle nav drawer 
     /*getActionBar().setDisplayHomeAsUpEnabled(false); 
     getActionBar().setHomeButtonEnabled(true);*/ 


     mDrawerToggle = new ActionBarDrawerToggle(
       this,     /* host Activity */ 
       mDrawerLayout,   /* DrawerLayout object */ 
       R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ 
       R.string.drawer_open, /* "open drawer" description for accessibility */ 
       R.string.drawer_close /* "close drawer" description for accessibility */ 
     ) { 
      public void onDrawerClosed(View view) { 

       invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() 
      } 

      public void onDrawerOpened(View drawerView) { 

       invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() 
      } 
     }; 
     mDrawerLayout.setDrawerListener(mDrawerToggle); 

public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    selectItem(position); 

} 
//} 

    private class DrawerItemClickListener implements ListView.OnItemClickListener { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     selectItem(position); 

     System.out.println("&&&&&position"+position); 

     switch(position){ 
      case 0: 
       startActivity(new Intent(home.this, ChangeActivity.class)); 
       // finish(); 

      case 1: 

       startActivity(new Intent(home.this, home.class)); 
       //finish(); 

      case 2: 

       startActivity(new Intent(home.this, info_values.class)); 
       // finish(); 

      default: 
       break; 


     } 
    } 
+0

您是否看到记录器中单击项目的位置? – vishalk

+0

是的!!位置打印正确 – shwettha

回答

1

你必须每个case块后写break;声明。如下所示

switch(position){ 
     case 0: 
      startActivity(new Intent(home.this, ChangeActivity.class)); 
      // finish(); 
      break; 

     case 1: 
      startActivity(new Intent(home.this, home.class)); 
      //finish(); 
      break; 

     case 2: 
      startActivity(new Intent(home.this, info_values.class)); 
      // finish(); 
      break; 

     default: 
      break; 


    } 
+0

上午我的适配器类中得到空指针异常..如果我包括中断 – shwettha

+0

为此,你将不得不提供它的细节。 – vishalk

+0

感谢lottttttttt !!!它在完成评论后工作 – shwettha