2013-08-03 33 views
3

我想將zxing整合到我的應用程序中。 我正在導入項目,將其設置爲庫,將目標更改爲API 7,下載zxing-core-2.2.jar,將其複製到/ libs並將此jar作爲庫添加到Java Building Path中。Zxing 2.2和R.id錯誤

但仍存在一些誤區:

Zxing errors 所有這些都在switch語句中,依靠R.id.例如:

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

Eclipse的錯誤描述:

情況下表達式必須是常量表達式

有一個信息對話框:

enter image description here 任何想法,我做錯了或如何解決它?

+0

你不打算使用這是一個庫。使用核心/,而不是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項目加入我的活動和資源範圍內bridling我的應用程序,並相應修改其清單文件。