Android zxing抛出NullPointerException
我计划使用ZXING库在我的Android应用程序中提供二维码功能。我能够让它工作,但它抛出了一个异常。我正在使用库github链接提供的示例代码。有人能告诉我是什么导致了异常吗 链接到和类 MainActivity的示例代码(使用eclipse生成初始代码): LogCat的例外情况:Android zxing抛出NullPointerException,android,zxing,Android,Zxing,我计划使用ZXING库在我的Android应用程序中提供二维码功能。我能够让它工作,但它抛出了一个异常。我正在使用库github链接提供的示例代码。有人能告诉我是什么导致了异常吗 链接到和类 MainActivity的示例代码(使用eclipse生成初始代码): LogCat的例外情况: 04-09 13:08:13.923: E/MainActivity(27574): java.lang.NullPointerException 04-09 13:08:13.923: E/MainActiv
04-09 13:08:13.923: E/MainActivity(27574): java.lang.NullPointerException
04-09 13:08:13.923: E/MainActivity(27574): at com.example.testapp.MainActivity$1.onClick(MainActivity.java:38)
04-09 13:08:13.923: E/MainActivity(27574): at android.view.View.performClick(View.java:4633)
04-09 13:08:13.923: E/MainActivity(27574): at android.view.View$PerformClick.run(View.java:19330)
04-09 13:08:13.923: E/MainActivity(27574): at android.os.Handler.handleCallback(Handler.java:733)
04-09 13:08:13.923: E/MainActivity(27574): at android.os.Handler.dispatchMessage(Handler.java:95)
04-09 13:08:13.923: E/MainActivity(27574): at android.os.Looper.loop(Looper.java:157)
04-09 13:08:13.923: E/MainActivity(27574): at android.app.ActivityThread.main(ActivityThread.java:5356)
04-09 13:08:13.923: E/MainActivity(27574): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 13:08:13.923: E/MainActivity(27574): at java.lang.reflect.Method.invoke(Method.java:515)
04-09 13:08:13.923: E/MainActivity(27574): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
04-09 13:08:13.923: E/MainActivity(27574): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
04-09 13:08:13.923: E/MainActivity(27574): at dalvik.system.NativeStart.main(Native Method)
04-09 13:08:13.933: D/AbsListView(27574): unregisterIRListener() is called
04-09 13:08:14.518: D/AbsListView(27574): onVisibilityChanged() is called, visibility : 4
04-09 13:08:14.518: D/AbsListView(27574): unregisterIRListener() is called
提前谢谢
解决方案:
谢谢大家的帮助
正如Tanis.7x在下面指出的,我的错误是在d.show()行
我试图写出我所理解的问题的根源,如果我错了,请纠正我
方法shareText()
在且仅在找不到包“com.google.zxing.client.android”时返回对话框
该对话框应用于提示用户从playstore安装应用程序“条形码阅读器”
因为我已经有了这个包(通过在我的项目中包含jar文件),所以该方法返回null,并且我犯了一个(愚蠢的)错误,在该方法上调用了一个方法。不能保证shareText()
方法返回对话框
根据文档,shareText()
将返回:
向用户显示的AlertDialog,在需要提示时提示他们下载应用程序,否则为空
如果用户已经拥有应用程序,则无需显示对话框,此方法将返回null
还请注意,该对话框在该方法返回时已经显示,因此您不需要自己显示它。我建议您查看以获取更多信息。post
activity_main.xml
layout.哪一行是第38行?实际上,真正的第38行是什么是一个谜,因为您发布的代码和堆栈跟踪不匹配。第38行是d.show();。无论如何,问题现在已经解决了。显然,在我花了几个小时阅读文档和示例代码之后,它开始工作了,我忽略了一条基本指令。该对话框为空,因为我已在我的应用程序中安装了库(shareText方法返回一个对话框,请求用户安装条形码阅读器,如果该对话框不可用,则为空)。是的,谢谢。我现在终于可以睡觉了。我对d.show()行进行了注释,它可以正常工作。我试着投你一票,但我没有足够的声誉这么做。
04-09 13:08:13.923: E/MainActivity(27574): java.lang.NullPointerException
04-09 13:08:13.923: E/MainActivity(27574): at com.example.testapp.MainActivity$1.onClick(MainActivity.java:38)
04-09 13:08:13.923: E/MainActivity(27574): at android.view.View.performClick(View.java:4633)
04-09 13:08:13.923: E/MainActivity(27574): at android.view.View$PerformClick.run(View.java:19330)
04-09 13:08:13.923: E/MainActivity(27574): at android.os.Handler.handleCallback(Handler.java:733)
04-09 13:08:13.923: E/MainActivity(27574): at android.os.Handler.dispatchMessage(Handler.java:95)
04-09 13:08:13.923: E/MainActivity(27574): at android.os.Looper.loop(Looper.java:157)
04-09 13:08:13.923: E/MainActivity(27574): at android.app.ActivityThread.main(ActivityThread.java:5356)
04-09 13:08:13.923: E/MainActivity(27574): at java.lang.reflect.Method.invokeNative(Native Method)
04-09 13:08:13.923: E/MainActivity(27574): at java.lang.reflect.Method.invoke(Method.java:515)
04-09 13:08:13.923: E/MainActivity(27574): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
04-09 13:08:13.923: E/MainActivity(27574): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
04-09 13:08:13.923: E/MainActivity(27574): at dalvik.system.NativeStart.main(Native Method)
04-09 13:08:13.933: D/AbsListView(27574): unregisterIRListener() is called
04-09 13:08:14.518: D/AbsListView(27574): onVisibilityChanged() is called, visibility : 4
04-09 13:08:14.518: D/AbsListView(27574): unregisterIRListener() is called