2012-04-13 49 views
0

我创建了一个意图访问不同活动的菜单,但我有一个奇怪的行为,它总是经过选择语句后的switch语句的所有情况,我已经审查了变量项目的价值并且是正确的,任何想法可能是错误的?onOptionsItemSelected(MenuItem项目)奇怪的行为

的表示菜单代码段是:

public static final int wiifidi = 0; 
    public static final int cuentaint = 1; 
    public static final int cajerosint = 2; 
    public static final int indicadoresint = 3; 
    public static final int promoint = 5; 
    public static final int contactoint = 4; 

....

....

....

@Override 
    //add the items to the menu on the class 
    public boolean onCreateOptionsMenu(Menu menu) { 
     boolean result = super.onCreateOptionsMenu(menu); 
     menu.add(0,wiifidi, 0, R.string.menu_wifi); 
     menu.add(0,cuentaint, 0, R.string.menu_cuenta); 
     menu.add(0,cajerosint,0,R.string.menu_cajeros); 
     menu.add(0,indicadoresint,0,R.string.menu_indicadores); 
     menu.add(0,contactoint,0,R.string.menu_contacto); 
     menu.add(0,promoint,0,R.string.menu_promo); 


     return result; 
    } 

    @Override 
    //handle everything that happens when an item of menu is selected 
    public boolean onOptionsItemSelected(MenuItem item) { 
     Toast.makeText(getApplicationContext(), "el item es " +item.getItemId(), Toast.LENGTH_LONG).show(); 
     switch (item.getItemId()) {  

     case wiifidi: 
      wifistatus(); 
     case cuentaint:{ 
      consulta(); 
     } 
     case cajerosint:{ 
      cajero(); 
     } 
     case indicadoresint:{ 
      indicador(); 
     } 
     case contactoint:{ 
      contacto(); 
      } 
     case promoint:{ 
      promocion(); 
     } 

     } 

     return super.onOptionsItemSelected(item); 
    } 

回答

5

记得打开你的开关。

switch (item.getItemId()) 
    {  
     case wiifidi: 
      wifistatus(); 
      break; 
     case cuentaint: 
      consulta(); 
      break; 
     case cajerosint: 
      cajero(); 
      break; 
     case indicadoresint: 
      indicador(); 
      break; 
     case contactoint: 
      contacto(); 
      break; 
     case promoint: 
      promocion(); 
      break; 
    } 
+0

你是正确的noob错误! – 2012-04-13 20:33:44

2

指定破

case wiifidi: 
      wifistatus(); 
      break; 
+0

你是对的noob错误! – 2012-04-13 20:33:30

+0

@PedroTeran,发生好友 – Habib 2012-04-13 20:35:23