【发布时间】:2026-01-30 08:20:03
【问题描述】:
我正在做 android 教程,在添加操作按钮部分,openSearch() 和 openSettings() 是未定义的。所以我把它们作为同一个班级的私人空隙。但是,在开关中, openSearch();显然是无法到达的。当我删除那个案例时,下一个案例中的方法无法访问。这是我的代码。
return super.onOptionsItemSelected(item);
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_search:
openSearch();
return true;
case R.id.action_settings:
openSettings();
return true;
default:
return super.onOptionsItemSelected(item);
}
private void openSettings() {
Toast.makeText(this, "Search button pressed", Toast.LENGTH_SHORT).show();
}
private void openSearch() {
Toast.makeText(this, "Search button pressed", Toast.LENGTH_SHORT).show();
}
【问题讨论】:
-
return value;结束方法控制流,因此不会调用它之后的代码(在您的情况下为switch)(无法访问) -
这是 Android Studio 的优势之一,您大喊代码无法访问。
-
顺便说一句:您应该改掉在
switch语句中使用资源ID 作为案例值的习惯。它不适用于资源 ID 值不是final的图书馆项目。有关这方面的更多信息,请参阅here。
标签: java android switch-statement unreachable-statement