2010-01-11 4 views
4

Un composant que j'ai créé fonctionne correctement si je le mets dans le projet principal et le référence à partir de tout res/layout xml, mais quand je le mets dans un projet dont dépend le projet principal, je reçois une ClassNotFoundException dans le xml. Alors que, après avoir compilé l'interface fonctionne bien, il est difficile de concevoir une interface sans voir ce que je fais à cause de l'erreur. Est-ce que quelqu'un sait comment le résoudre?Composant Android ClassNotFoundException

Stacktrace:

java.lang.ClassNotFoundException: com.package.widget.Tabber 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:465) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:564) 
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:122) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:617) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:296) 
    at com.android.layoutlib.bridge.Bridge.computeLayout(Bridge.java:377) 
    at com.android.ide.eclipse.adt.internal.editors.layout.GraphicalLayoutEditor.computeLayout(Unknown Source) 
    at com.android.ide.eclipse.adt.internal.editors.layout.GraphicalLayoutEditor.recomputeLayout(Unknown Source) 
    at com.android.ide.eclipse.adt.internal.editors.layout.GraphicalLayoutEditor.activated(Unknown Source) 
    at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.pageChange(Unknown Source) 
    at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1076) 
    at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:601) 
    at com.android.ide.eclipse.adt.internal.editors.AndroidEditor.selectDefaultPage(Unknown Source) 
    at com.android.ide.eclipse.adt.internal.editors.AndroidEditor.addPages(Unknown Source) 
    at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138) 
    at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:357) 
    at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:662) 
    at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462) 
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) 
    at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313) 
    at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180) 
    at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270) 
    at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65) 
    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473) 
    at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256) 
    at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209) 
    at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1608) 
    at org.eclipse.ui.internal.PartStack.add(PartStack.java:499) 
    at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103) 
    at org.eclipse.ui.internal.PartStack.add(PartStack.java:485) 
    at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112) 
    at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63) 
    at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225) 
    at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213) 
    at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:778) 
    at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:677) 
    at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:638) 
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2854) 
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762) 
    at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754) 
    at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705) 
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701) 
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685) 
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676) 
    at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651) 
    at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610) 
    at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:361) 
    at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:168) 
    at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229) 
    at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208) 
    at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274) 
    at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250) 
    at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:373) 
    at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:526) 
    at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) 
    at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:842) 
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    at org.eclipse.core.runtime.Platform.run(Platform.java:888) 
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48) 
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) 
    at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:840) 
    at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1101) 
    at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1205) 
    at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264) 
    at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258) 
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298) 
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) 
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880) 
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473) 
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) 
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) 
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) 
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) 
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1311) 

Répondre

4

a résolu le problème en liant les dossiers source dans Eclipse, si quelqu'un sait une autre solutions que j'aimerais entendre ...

+0

Salut, je suis actuellement ayant le même problème. Je ne comprends pas ce que vous entendez par "relier les dossiers source dans Eclipse" ... comment avez-vous fait cela? – funkybro

+0

Propriétés du clic droit de la souris> Build Path, il y a un bouton 'Link Source' sur la droite, lien vers la source du composant séparé et tada :) – Thys

+0

faites un clic droit sur quoi? Le fichier java pour le widget personnalisé? –

1

.. Com * widget.Tabber 'est pas un nom de classe valide. Vous devez l'épeler complètement.

+0

Désolé, j'ai ajouté le * pour des raisons de confidentialité paquet – Thys

Questions connexes