IntelliJ/Android → "java: требуется постоянное выражение" на случай R.id.viewId
Когда я пытаюсь создать свой Android-проект в IntelliJ, я получаю ошибку во всех операторах switch, в случаях, когда Id использует их из R.java.
Пример:
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpTo(this, DashboardActivity.upIntent(this));
return true;
case R.id.orders_options_add:
handleAddItem();
return true;
case R.id.orders_options_reorder:
handleReorder();
finish();
return true;
}
Кто-нибудь знает, как решить эту проблему?
Ответы
Ответ 1
Идентификаторы ресурсов не являются константами в библиотечном проекте с версии 14 ADT, поэтому вы не можете использовать их в инструкции switch. Просто используйте if () {} else if () {} ...
вместо этого.
Здесь вы можете найти более подробную информацию .