3

当我尝试将Android-DirectionalViewPager合并到新项目中时出现此错误:

-02 13:04:03.439: E/AndroidRuntime(1526): FATAL EXCEPTION: main
10-02 13:04:03.439: E/AndroidRuntime(1526): java.lang.NoClassDefFoundError: com.directionalviewpager.DirectionalViewPager$DataSetObserver

以下是视图设计器的日志:

com.directionalviewpager.DirectionalViewPager 无法实例化。

java.lang.ClassNotFoundException: android.support.v4.view.PagerAdapter$DataSetObserver 在 java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:423) 在 java.lang.ClassLoader.loadClass( ClassLoader.java:356) 在 java.lang.ClassLoader.defineClass1(Native Method) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:791) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java .net.URLClassLoader.defineClass(URLClassLoader.java:449) 在 java.net.URLClassLoader.access$100(URLClassLoader.java:71) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass( URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:423) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) 在 com.android.ide.eclipse.adt.internal.resources .manager.ProjectClassLoader.loadClassFromJar(ProjectClassLoader.java:242) 在 com.android.ide.eclipse.adt.internal.resources.manager.ProjectClassLoader.findClass(ProjectClassLoader.java:76) 在 java.lang.ClassLoader.loadClass(ClassLoader .java:423) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:410) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) 在 java.lang。Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.getConstructor(Class.java:第1674章ProjectCallback.java:170) 在 android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207) 在 android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135) 在 android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:746 ) 在 android.view.LayoutInflater 的 android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)。rInflate(LayoutInflater.java:718) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:372) at com.android.layoutlib.bridge.impl.RenderSessionImpl .inflate(RenderSessionImpl.java:321) 在 com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:331) 在 com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325) 在com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:440) 在 com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge (GraphicalEditorPart.java:1545) 在 com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1302) 在 com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate 的 com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1059)。 delegatePageChange(LayoutEditorDelegate.java:683) at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360) at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart .java:290) 在 org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240) 在 org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 在 org.eclipse.swt。 widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:第1267章.onMouse(CTabFolder.java:1433) 在 org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257) 在 org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 在 org .eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588) at org.eclipse.swt.widgets.Display.readAndDispatch(Display .java:3209) 在 org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) 在 org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) 在 org.eclipse.ui。 internal.Workbench.access$4(Workbench.java:2499) 在 org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 在 org.eclipse.ui 的 org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)。 internal.Workbench.createAndRunWorkbench(Workbench.java:668) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java: 123) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppHandle.run(EclipseAppHandle.java:196) .core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) 在 org.eclipse.core。runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) 在 org.eclipse.equinox.launcher .Main.basicRun(Main.java:577) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1410) 在 org.eclipse.equinox.launcher.Main.main(Main.java:1386)invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.eclipse.equinox.launcher.Main .invokeFramework(Main.java:622) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1410) 在 org. eclipse.equinox.launcher.Main.main(Main.java:1386)invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.eclipse.equinox.launcher.Main .invokeFramework(Main.java:622) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1410) 在 org. eclipse.equinox.launcher.Main.main(Main.java:1386)第1410章)第1410章)

eclipse.buildId=M20120208-0800
java.version=1.7.0_07
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

有什么建议么 ?

PS我已经包含了库并支持了一个。

4

1 回答 1

4

我遇到了类似的问题,原因是 DirectionalViewPager 库使用的 android-support-v4.jar 库版本较旧,与当前使用的开发版本不兼容。也许您可以使用以下库进行替换。 https://github.com/castorflex/VerticalViewPager

此外,您还可以参考下面的链接可能会有所帮助。 在 Eclipse 中包含 Android-DirectionalViewPager .jar 时出错

于 2014-02-13T02:25:56.710 回答