Zxing 2.2和R.id错误

时间:2013-08-03 11:32:24

标签: android qr-code zxing

我想将zxing整合到我的应用中。 我正在导入项目,将其设置为库,将目标更改为API 7,下载zxing-core-2.2.jar,将其复制到/ libs并在Java Building Path中将此jar添加为库。

但仍有一些错误:

Zxing errors 所有这些都在switch语句中并且依赖于R.id.例如:

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

Eclipse错误描述:

  

案例表达式必须是常量表达式

有一个信息对话框:

enter image description here 知道我做错了什么或如何解决它?

2 个答案:

答案 0 :(得分: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 :(得分:1)

问题是zxing的来源并不打算用作图书馆.. 请在下面的帖子中看到肖恩的答案。

Zxing project as library in a project won't build

我尝试在此CaptureActivity项目中加入我的应用程序,添加我的活动和资源,并相应地修改其清单文件。