2012-04-13 3 views
0

私はさまざまなアクティビティにアクセスするためのインテントを持つメニューを作成しましたが、私は奇妙な振る舞いをしています。可変アイテムの価値を見直し、間違っている可能性のあるアイデアは正しいですか?onOptionsItemSelected(MenuItem item)奇妙な振る舞い

メニューを表すコードの抜粋は以下のとおりです。

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

あなたは間違いなく間違いだ! –

2

ブレークを指定します

case wiifidi: 
      wifistatus(); 
      break; 
+0

あなたは間違いなく間違いです! –

+0

@PedroTeran、おまけになる – Habib