0

さまざまなアクティビティにアクセスする目的でメニューを作成しましたが、奇妙な動作があり、ステートメントが選択された後、switch ステートメントのすべてのケースを常に通過します。変数 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);
    }
4

2 に答える 2

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;
    }
于 2012-04-13T20:31:13.060 に答える
2

休憩を指定

 case wiifidi:
            wifistatus();
            break;
于 2012-04-13T20:30:11.823 に答える