2013-08-03 5 views
3

Я хотел бы интегрировать zxing в свое приложение. Я импортирую проект, устанавливаю его как библиотеку, меняю цель на API 7, загружаю zxing-core-2.2.jar, копирую ее в/libs и добавляю эту банку в Java Building Path как библиотеку.Zxing 2.2 и ошибка R.id

Но есть еще некоторые ошибки:

Zxing errors Все они находятся в отчетности коммутатора и зависят от R.id. например:

switch (item.getItemId()) { 
    case R.id.menu_share: 

Затмение Описание ошибки:

случае выражения должны быть константными выражениями

есть информация диалог:

enter image description here Любая идея, что я делать неправильно или как это исправить?

+0

Вы не собираетесь использовать эту библиотеку. Используйте core /, а не android /. Это основная причина. –

+0

Но я не могу импортировать материал из ядра/- Я попытался импортировать как существующий код Android в рабочую область, а существующий проект в рабочую область - и без успеха. –

ответ

1

Как пояснялось в появившемся диалоговом окне, R.id.menu_settings теперь «больше не является постоянным», что означает, что он не может использоваться в коммутаторе. диалог также обеспечивает решение, вместо

switch (item.getItemId()) { 
    case R.id.menu_share: 
     //do something 
     break; 
    case xxx: 
     ... 
} 

Вы должны сделать это:

if(item.getItemId()==R.id.menu_share) { 
     //do something 
} else if (item.getItemId()==xxx) { 
     //do something 
} 

Просто следуйте инструкциям, и вы должны быть в порядке.

1

Проблема заключается в том, что источник zxing не предназначен для использования в качестве библиотеки. См. Ответ Шона в приведенной ниже теме.

Zxing project as library in a project won't build

Я пытался обуздание моего приложения в течение CaptureActivity проекта, добавив свою деятельность и ресурсы и изменения его манифест файла соответственно.