Java 我有一个错误:错误:无法访问语句错误:错误:缺少返回语句
我有一个错误: 错误:无法访问语句错误:错误:缺少返回语句 它正在运行以下代码:Java 我有一个错误:错误:无法访问语句错误:错误:缺少返回语句,java,android,Java,Android,我有一个错误: 错误:无法访问语句错误:错误:缺少返回语句 它正在运行以下代码: public class MainActivity extends AppCompatActivity { private DrawerLayout mDrawerlayout; private ActionBarDrawerToggle mToggle; @Override protected void onCreate(Bundle savedInstanceState) {
public class MainActivity extends AppCompatActivity {
private DrawerLayout mDrawerlayout;
private ActionBarDrawerToggle mToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDrawerlayout = (DrawerLayout) findViewById(R.id.drawerLayout);
mToggle = new ActionBarDrawerToggle(this,mDrawerlayout,R.string.open,R.string.close);
mDrawerlayout.addDrawerListener(mToggle);
mToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
if(mToggle.onOptionsItemSelected(item)){
return true;
}
}
}
调用
mtogle.onoptionItemSelected(项目)
后,调用super.onoptionItemSelected(项目)
在OnOptions ItemSelected()中,如果()是无法访问的代码,请使用下面的代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mToggle.onOptionsItemSelected(item)){
return true;
}else{
return false;
}
}
在代码中
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
if(mToggle.onOptionsItemSelected(item)){
return true;
}
您的第一个语句是一个
return
关键字,这使得当前方法跳过下一个代码块。您是从onOptionsItemSelected
返回的,并且return语句之后仍然有一些代码。只需切换到下面
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}
无法访问的是onOptionsItemSelected
函数中return
语句之后的if(mToggle…
。您知道为什么吗?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}