5

我想在我的中包含一个开源项目。但是在检查“is library”选项后,无法编译诸如“case R.id.menu_search:”之类的东西。我应该用它的常量值替换它们,还是如何包含它?

    case R.id.menu_search: // ! case expressions must be constant expressions
        onSearchRequested();
        return true; ...
4

1 回答 1

16

正如其他人所指出的,您需要将您的switch()语句更改为if()//语句else if()。不是常数 ( ),不能在语句中使用。那是因为它来自您的 Android 库项目。一个常数,因为它是操作系统的一部分并且不会改变。elseR.id.menu_searchstatic finalcaseR.id.menu_searchandroid.R.id.home

于 2012-09-18T12:06:39.887 回答