我想在我的网站上加入一个开源项目。但在检查“是库”选项后,有些东西如“case R.id.menu_search:”无法编译。我应该用它的常数值替换它们,或者我如何包含它?
case R.id.menu_search: // ! case expressions must be constant expressions
onSearchRequested();
return true; ...
答案 0 :(得分:13)
正如其他人所指出的,您需要将switch()
语句更改为if()
/ else if()
/ else
语句。 R.id.menu_search
不是常量(static final
),不能在case
语句中使用。这是因为R.id.menu_search
来自您的Android库项目。 android.R.id.home
是常量,因为它是操作系统的一部分而且没有变化。