Подтвердить что ты не робот

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;
}

Кто-нибудь знает, как решить эту проблему?

4b9b3361

Ответ 1

Идентификаторы ресурсов не являются константами в библиотечном проекте с версии 14 ADT, поэтому вы не можете использовать их в инструкции switch. Просто используйте if () {} else if () {} ... вместо этого.

Здесь вы можете найти более подробную информацию .