java - 将图像导入到我的主 Activity XML 文件后引发 java.lang.NullPointerException 异常

标签 java android mobile

因此,我尝试通过复制图像并将其粘贴到可绘制资源文件夹中,将从互联网下载的图像复制到我的 android studio mainactivity xml 文件中,但由于某种原因,我收到错误“无法实例化一个或更多类”这是我第一次收到此错误,因为我以前的图像以完全相同的方式复制,除了其他图像(例如此图像)外没有任何错误。它与 PNG 或 JPG 格式有关吗?我尝试将项目与 Gradle 文件重新同步,但它仍然是一样的。我应该怎么做才能解决这个异常?谢谢。

1) the process of copying and pasting image to drawable

2) The error itself after pasting the image

java.lang.NullPointerException
at android.content.res.Resources_Delegate.getValue(Resources_Delegate.java:788)
at android.content.res.Resources.getValue(Resources.java:1286)
at android.support.v7.widget.AppCompatDrawableManager.createDrawableIfNeeded(AppCompatDrawableManager.java:236)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:199)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:54)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:66)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:56)
at sun.reflect.GeneratedConstructorAccessor1111.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:475)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:250)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:213)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadClass(LayoutlibCallbackImpl.java:193)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:333)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:152)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:368)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:567)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:863)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:549)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$1(RenderTask.java:680)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

编辑:此外,当我尝试编译代码时,除非我删除可绘制文件夹中的图像文件,否则我的项目将不会启动,因为此错误:`错误:任务':app:mergeDebugResources'执行失败。

C:\Users\TP_baseline\AndroidStudioProjects\COMTProject(MeloWide)\app\src\main\res\drawable\icons8-Medal-80.png: Error: '-' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore`

最佳答案

您的图片名称中包含破折号。 icons8-Medal-80.png

将其替换为下划线或将其删除。

仅允许使用小写字母数字(加下划线)资源名称,如错误中所示。

关于java - 将图像导入到我的主 Activity XML 文件后引发 java.lang.NullPointerException 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44983769/

相关文章:

java - HttpClient.execute 抛出的未知主机异常

mobile - 设置 nginx 以重定向移动用户

c# - jQuery Mobile Datebox 不会采用默认日期值 - 尝试了所有方法

java - 在java中显示从控制台上的文档读取文档文件时出错

Java - 设置期间

java - 如何将运行者添加到结果数组中

android - 联系人以哪种格式存储在android中?

java - 使用 Join 方法的不同输出

java - 需要一些帮助把一些东西从绳子上拿下来

Flutter 对话式访问数据