2012-04-13 8 views
0

Ich habe ein Menü mit einer Absicht erstellt, um auf verschiedene Aktivitäten zugreifen, aber ich habe ein seltsames Verhalten, es geht immer durch alle Fälle der switch-Anweisung nach der Anweisung ausgewählt, ich habe überprüft den Wert des variablen Elements und ist richtig, irgendwelche Ideen, was könnte falsch sein?onOptionsAtemSelected (MenuItem Element) seltsames Verhalten

das Code-Snippet, das das Menü repräsentiert ist:

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

Antwort

5

Denken Sie daran, aus Ihren Schaltern auszubrechen.

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

du hast Recht ein Noob Fehler !! –

2

Geben Pause

case wiifidi: 
      wifistatus(); 
      break; 
+0

Sie haben Recht ein noob Fehler !! –

+0

@PedroTeran, passiert Kumpel – Habib