Gallery Demo NullPointerException

时间:2010-08-26 14:10:15

标签: android gallery

http://developer.android.com/guide/tutorials/views/hello-gallery.html

我完全按照指南操作,我可以编译并运行程序但是在加载时会崩溃。

当我尝试查看main.xml时,我在控制台中收到错误。

java.lang.NullPointerException
 at android.view.GestureDetector.<init>(GestureDetector.java:347)
 at android.view.GestureDetector.<init>(GestureDetector.java:331)
 at android.widget.Gallery.<init>(Gallery.java:181)
 at android.widget.Gallery.<init>(Gallery.java:175)
 at sun.reflect.GeneratedConstructorAccessor38.newInstance(Unknown Source)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
 at java.lang.reflect.Constructor.newInstance(Unknown Source)
 at android.view.LayoutInflater.createView(LayoutInflater.java:500)
 at android.view.BridgeInflater.onCreateView(BridgeInflater.java:77)
 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
 at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:122)
 at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
 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:397)
 at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.computeLayout(Unknown Source)
 at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.recomputeLayout(Unknown Source)
 at com.android.ide.eclipse.adt.internal.editors.layout.gle1.GraphicalLayoutEditor.onXmlModelChanged(Unknown Source)
 at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.xmlModelChanged(Unknown Source)
 at com.android.ide.eclipse.adt.internal.editors.AndroidEditor$XmlModelStateListener.modelChanged(Unknown Source)
 at org.eclipse.wst.sse.core.internal.model.AbstractStructuredModel.fireModelChanged(AbstractStructuredModel.java:553)
 at org.eclipse.wst.sse.core.internal.model.AbstractStructuredModel.internalModelChanged(AbstractStructuredModel.java:887)
 at org.eclipse.wst.sse.core.internal.model.AbstractStructuredModel.changedModel(AbstractStructuredModel.java:382)
 at org.eclipse.wst.xml.core.internal.document.DOMModelImpl.changedModel(DOMModelImpl.java:167)
 at org.eclipse.wst.sse.ui.StructuredTextEditor.savedModel(StructuredTextEditor.java:2814)
 at org.eclipse.wst.sse.ui.StructuredTextEditor.doSave(StructuredTextEditor.java:1826)
 at com.android.ide.eclipse.adt.internal.editors.AndroidEditor.doSave(Unknown Source)
 at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.doSave(Unknown Source)
 at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.showEditorInput(Unknown Source)
 at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2847)
 at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
 at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
 at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
 at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
 at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
 at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
 at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682)
 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:365)
 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:845)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
 at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
 at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
 at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843)
 at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131)
 at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235)
 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:1053)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
 at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 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:369)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
 at org.eclipse.equinox.launcher.Main.main(Main.java:1383)

编辑:实际上,如果我创建一个新项目并且只是添加一个Gallery,我仍然会得到NullPointerException。我不认为这应该是默认行为。

2 个答案:

答案 0 :(得分:2)

  是的,我的照片有a,b,c,d,e   res / drawable-ldpi文件夹。然后我有   像这样的代码:R.drawable.a等 -   user157603 35分钟前

根据示例,您必须拥有名为

的图像

**** sample_1.png,sample_2.png,sample_3.png,sample_4.png,sample_5.png,sample_6.png,sample_7.png ** (或.jpg) 在您的res / drawable文件夹中。

或者你会得到一个NullPointerException

答案 1 :(得分:0)

您是否正确地在可绘制目录中命名了图像?

源代码使用R.drawable.sample_1(依此类推),因此您的图片应命名为sample_1.png(依此类推)。文件扩展名也可以是jpg,gif ...取决于您使用的图像格式