Android库项目中的资源ID

时间:2012-09-18 10:30:20

标签: android open-source shared-libraries

我想在我的网站上加入一个开源项目。但在检查“是库”选项后,有些东西如“case R.id.menu_search:”无法编译。我应该用它的常数值替换它们,或者我如何包含它?

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

1 个答案:

答案 0 :(得分:13)

正如其他人所指出的,您需要将switch()语句更改为if() / else if() / else语句。 R.id.menu_search不是常量(static final),不能在case语句中使用。这是因为R.id.menu_search来自您的Android库项目。 android.R.id.home 常量,因为它是操作系统的一部分而且没有变化。