Android的XML文件显示java.lang.NullPointerException [英] Android XML File java.lang.nullpointerexception
问题描述
我建立一个全新的Android项目。这不是我的第一个Android的应用程序,所以我更沮丧不能够摆脱这种错误的...
我用一个XML文件,这对现在只有3项,并在XML选项卡中没有错误:
< XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=http://schemas.android.com/apk/res/android
的xmlns:工具=http://schemas.android.com/tools
机器人:ID =@ + ID /容器
机器人:layout_width =match_parent
机器人:layout_height =match_parent
工具:上下文=。gaming..MainActivity>
< ImageView的
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:背景=@可绘制/ fondipad
机器人:contentDescription =@字符串/ FondDesc
/>
< RelativeLayout的
机器人:layout_height =300dp
机器人:layout_width =FILL_PARENT
机器人:背景=@可绘制/ cadremenu>
< / RelativeLayout的>
< / RelativeLayout的>
pretty的简单,耶? 然而,视觉标签不会呈现cadremenu绘制(但情有独钟呢)......但cadremenu.png在绘制文件夹! 我可以启动应用程序,但只有背景将呈现... 我真的不知道该怎么办...... XML文件返回此异常
显示java.lang.NullPointerException
在android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:598)
在android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:120)
在android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:102)
在com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:233)
在android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:782)
在android.view.View< INIT>(View.java:3554)
在android.view.View< INIT>(View.java:3484)
在android.view.ViewGroup< INIT>(ViewGroup.java:464)
在android.widget.RelativeLayout< INIT>(RelativeLayout.java:236)
在sun.reflect.GeneratedConstructorAccessor37.newInstance(来源不明)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
在java.lang.reflect.Constructor.newInstance(Constructor.java:513)
在android.view.LayoutInflater.createView(LayoutInflater.java:594)
在android.view.BridgeInflater.onCreateView(BridgeInflater.java:86)
在android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
在android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:131)
在android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)
在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
在android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
在android.view.LayoutInflater.inflate(LayoutInflater.java:492)
在android.view.LayoutInflater.inflate(LayoutInflater.java:373)
在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:399)
在com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:336)
在com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
在com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:504)
在com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
在com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
在com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1066)
在com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:686)
在com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360)
在org.eclipse.ui.part.MultiPageEditorPart $ 2.widgetSelected(MultiPageEditorPart.java:292)
在org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
在org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
在org.eclipse.swt.widgets.Display.sendEvent(Display.java:4136)
在org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
在org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
在org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
在org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
在org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3028)
在org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1749)
在org.eclipse.swt.custom.CTabFolder $ 1.handleEvent(CTabFolder.java:278)
在org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
在org.eclipse.swt.widgets.Display.sendEvent(Display.java:4136)
在org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
在org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
在org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
在org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
在org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3982)
在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)
在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 9.run(PartRenderingEngine.java:1053)
在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
在org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
在org.eclipse.ui.internal.Workbench $ 5.run(Workbench.java:588)
在org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
在org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
在org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
在org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
在org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
在org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
在java.lang.reflect.Method.invoke(Method.java:597)
在org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
在org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
在org.eclipse.equinox.launcher.Main.run(Main.java:1438)
任何帮助将受到欢迎!
编辑:我已经尝试过删除,把背可绘制项目,....清洁工程,建设起来,我甚至试图删除和放大器;重新安装每一个ADT组件
解决方案由于@laato建议,我检查了我的绘制/ cadremenu文件
感谢你们 希望有人会发现在这里帮助哪天
I am building a brand new android project. It's not my 1st android app so I'm much more frustrated not being able to get rid of this error...
I use an XML File, which has for now only 3 items and NO error in the XML tab :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".gaming..MainActivity" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/fondipad"
android:contentDescription="@string/FondDesc"
/>
<RelativeLayout
android:layout_height="300dp"
android:layout_width="fill_parent"
android:background="@drawable/cadremenu">
</RelativeLayout>
</RelativeLayout>
Pretty simple, yay ? However, the visual tab is not rendering the cadremenu drawable (but the "fond" does)... But the cadremenu.png is in the drawable folder ! I can launch the app but only the background is rendered... I really don't know what to do... The xml file returns this exception
java.lang.NullPointerException
at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:598)
at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:120)
at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:102)
at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:233)
at android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:782)
at android.view.View.<init>(View.java:3554)
at android.view.View.<init>(View.java:3484)
at android.view.ViewGroup.<init>(ViewGroup.java:464)
at android.widget.RelativeLayout.<init>(RelativeLayout.java:236)
at sun.reflect.GeneratedConstructorAccessor37.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:86)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:131)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:373)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:399)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:336)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:504)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1066)
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:686)
at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360)
at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:292)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4136)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3028)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1749)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:278)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4136)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1271)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3982)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
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:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
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:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
any help would be welcome !
EDIT : I already tried removing, putting back drawables, project, .... Cleaning the project, building back... I have even tried deleting & reinstalling every ADT component
As @laato suggested, I checked my drawable/cadremenu file. I copied/pasted/overwrited the file in my project and then everything worked fine ! I actually had the same problem with all my other resources, like if my resources folder had been corrupted or something like that.
Thank you guys Hoping that someone will find help here someday
这篇关于Android的XML文件显示java.lang.NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!