你好,我有一个问题,我正在遭受一个星期的痛苦。当我打开片段QRcode阅读器时,它是基于片段构建它只要我切换到另一个并再次返回它就正常工作,然后发生错误.I想想onDestroy和onCreateView
方法可能有问题FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.abhi.barcode.frag.libv2.R$string
at com.abhi.barcode.frag.libv2.BarcodeFragment.displayFrameworkBugMessageAndExit(BarcodeFragment.java:345)
at com.abhi.barcode.frag.libv2.BarcodeFragment.initCamera(BarcodeFragment.java:338)
at com.abhi.barcode.frag.libv2.BarcodeFragment.surfaceCreated(BarcodeFragment.java:212)
at android.view.SurfaceView.updateWindow(SurfaceView.java:559)
at android.view.SurfaceView.access$000(SurfaceView.java:82)
at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:172)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:671)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1822)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1002)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4216)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:736)
at android.view.Choreographer.doCallbacks(Choreographer.java:566)
at android.view.Choreographer.doFrame(Choreographer.java:536)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:722)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null)
parent.removeView(view);
}
try {
view= inflater.inflate(R.layout.fragment_qr, container, false);
}catch (InflateException e) {
}
@Override
public void onDestroyView() {
super.onDestroyView();
Fragment f = getChildFragmentManager().findFragmentById(R.id.qr_scan_fragment);
if (f != null) {
getActivity().getSupportFragmentManager().beginTransaction()
.remove(f)
.commit();
}
}
答案 0 :(得分:1)
90%的丢失jar或错误绑定项目检查是否会影响项目的偏好,也许你需要做更多的东西去你正在使用的库的文档那里必须有一些东西说如何正确绑定库
例如,我必须在project.properties文件中添加一些行答案 1 :(得分:0)
NoClassDefFoundError通常意味着你在编译时在你的类路径中那个类,但是这个类现在在运行时从类路径中丢失了(因为它只是缺失,或者因为你有一个不同的版本,如评论中所述。)
这是一个maven项目吗?如果是这样,也许您有一个声明为provided
的依赖项或类似的东西,并且您在运行时缺少该库。
如果没有,您如何构建和运行代码?从IDE运行时是否有相同的错误?
然而,根本原因很可能就是我上面提到的。
答案 2 :(得分:0)
这个确切的崩溃发生在我身上,解决方案非常简单。我只需要向Manifest添加所需的权限和功能:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>