无法解析符号“ item”

问题描述

我试图使菜单项进入不同的活动,所以我试图在每个活动上覆盖onoptionsItemSelcted,但出现此错误

在每种情况下“ R.id.ItemX”也都会获得“需要常量表达式”。

    @Override
    public boolean onoptionsItemSelected(MenuItem menu){

        switch (item.getItemId()){ // ERROR IS HERE ON THE WORD 'item',Cannot resolve symbol 'item'.

            Intent goToNextActivity = new Intent(getApplicationContext(),MainActivity.class);

            case R.id.Item1: // Constant expression required

                goToNextActivity = new Intent(getApplicationContext(),MainActivity.class);
                startActivity(goToNextActivity);
                break;

            case R.id.Item2: // Constant expression required

                goToNextActivity = new Intent(getApplicationContext(),VidPage.class);
                startActivity(goToNextActivity);
                break;

            case R.id.Item3: // Constant expression required

                goToNextActivity = new Intent(getApplicationContext(),DatePage.class);
                startActivity(goToNextActivity);
                break;


        }

        return true;
    }

解决方法

使用此

menu.getItemId()

代替这个

item.getItemId()

示例代码

@Override
    public boolean onOptionsItemSelected(MenuItem menu){

        switch (menu.getItemId()){ // ERROR IS HERE ON THE WORD 'item',THE REST WORKS FINE.

            Intent goToNextActivity = new Intent(getApplicationContext(),MainActivity.class);

            case R.id.Item1:

                goToNextActivity = new Intent(getApplicationContext(),MainActivity.class);
                startActivity(goToNextActivity);
                break;

            case R.id.Item2:

                goToNextActivity = new Intent(getApplicationContext(),VidPage.class);
                startActivity(goToNextActivity);
                break;

            case R.id.Item3:

                goToNextActivity = new Intent(getApplicationContext(),DatePage.class);
                startActivity(goToNextActivity);
                break;


        }

        return true;
    }
,

使用此

menu.getItemId()

这将返回您的商品ID,