Android的XML文件显示java.lang.NullPointerException [英] Android XML File java.lang.nullpointerexception

查看:2053
本文介绍了Android的XML文件显示java.lang.NullPointerException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立一个全新的Andr​​oid项目。这不是我的第一个Android的应用程序,所以我更沮丧不能够摆脱这种错误的...

我用一个XML文件,这对现在只有3项,并在XML选项卡中没有错误:

 < XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    的xmlns:工具=htt​​p://schemas.android.com/tool​​s
    机器人: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文件

。我复制/粘贴/ overwrited的文件在我的项目,然后一切都很好!其实我有同样的问题,我的所有其他资源,就像如果我的资源文件夹被破坏或者类似的东西。

感谢你们 希望有人会发现在这里帮助哪天

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆