它显示无法访问的语句错误
Posted
技术标签:
【中文标题】它显示无法访问的语句错误【英文标题】:It's showing unreachable statement error 【发布时间】:2017-12-08 06:18:24 【问题描述】:我正在尝试对选定的项目进行祝酒,但它显示了无法访问的语句错误。
我的代码是:
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;
【问题讨论】:
你知道这个“无法访问的代码”是什么意思吗? How do I compare strings in Java?的可能重复 另外你在return语句之后比较,这是主要问题,请学习一些java的基础知识 【参考方案1】:你有两种错误:
1)return super (return super.onContextItemSelected(item)
) ,这意味着您在第一行返回您的方法,因此下面的行不会执行。
2)错误的比较字符串 (item.getTitle()=="Hi"
)
正确的代码应该是这样的:
@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;
【讨论】:
@user8027365 欢迎您,因此请将其标记为真实答案。 tnx以上是关于它显示无法访问的语句错误的主要内容,如果未能解决你的问题,请参考以下文章