简体   繁体   English

显示无法访问的语句错误

[英]It's showing unreachable statement error

I'm trying to make a toast on item selected but it's showing unreachable statement error. 我正在尝试对选定的项目进行祝酒,但显示不可达语句错误。

My code is: 我的代码是:

btn=(Button)findViewById(R.id.button);
    btn.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  btn.performLongClick();
                }
            }
    );
    registerForContextMenu(btn);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    menu.setHeaderTitle("For Optimum Results");
    menu.add(0,v.getId(),0,"Hi");
    menu.add(0,v.getId(),0,"Hello");
}

@Override
public boolean onContextItemSelected(MenuItem item) {
    return super.onContextItemSelected(item);
    if(item.getTitle()=="Hi"){
        Toast.makeText(this,"hi",Toast.LENGTH_SHORT).show();

    }
return true;
}

you have two type of error: 您有两种错误类型:

1)return super ( return super.onContextItemSelected(item) ) , it means that you return your method at first line so lines below not execute. 1)return super( return super.onContextItemSelected(item) ),这意味着您在第一行返回您的方法,因此下面的行不执行。

2)wrong comparing String ( item.getTitle()=="Hi" ) 2)错误比较String( item.getTitle()=="Hi"

correct code should be like this: 正确的代码应如下所示:

@Override
public boolean onContextItemSelected(MenuItem item) {
   //return super.onContextItemSelected(item);//remove this line
   if(item.getTitle().equal("Hi")){// also maybe you want to check not null for item.getTitle()
       Toast.makeText(this,"hi",Toast.LENGTH_SHORT).show();
   }
   return true; 
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM