Android 尝试调用虚拟方法';int java.lang.String.hashCode()';

Android 尝试调用虚拟方法';int java.lang.String.hashCode()';,android,gridview,android-volley,android-logcat,networkimageview,Android,Gridview,Android Volley,Android Logcat,Networkimageview,我正在尝试使用截取库将URL中的图像加载到girdview中。为此,我将遵循教程。当我运行我的项目时,它从服务器数据库收集所有URL,然后存储在arraylist中。但不显示图像。我得到了java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int java.lang.String.hashCode()”错误。它甚至没有指向我得到这个错误的任何代码行号。请参见以下Logcat输出: java.lang.NullPointerException: Attem

我正在尝试使用截取库将URL中的图像加载到girdview中。为此,我将遵循教程。当我运行我的项目时,它从服务器数据库收集所有URL,然后存储在arraylist中。但不显示图像。我得到了
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int java.lang.String.hashCode()”
错误。它甚至没有指向我得到这个错误的任何代码行号。请参见以下Logcat输出:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference
        at com.android.volley.Request.<init>(Request.java:136)
        at com.android.volley.toolbox.ImageRequest.<init>(ImageRequest.java:71)
        at com.android.volley.toolbox.ImageLoader.get(ImageLoader.java:219)
        at com.android.volley.toolbox.ImageLoader.get(ImageLoader.java:171)
        at com.android.volley.toolbox.NetworkImageView.loadImageIfNecessary(NetworkImageView.java:141)
        at com.android.volley.toolbox.NetworkImageView.onLayout(NetworkImageView.java:190)
        at android.view.View.layout(View.java:15596)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.widget.GridView.setupChild(GridView.java:1542)
        at android.widget.GridView.makeAndAddView(GridView.java:1436)
        at android.widget.GridView.makeRow(GridView.java:361)
        at android.widget.GridView.fillDown(GridView.java:302)
        at android.widget.GridView.fillFromTop(GridView.java:437)
        at android.widget.GridView.layoutChildren(GridView.java:1276)
        at android.widget.AbsListView.onLayout(AbsListView.java:2148)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
        at android.widget.ScrollView.onLayout(ScrollView.java:1502)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:494)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
        at android.view.View.layout(View.java:15596)
        at android.view.ViewGroup.layout(ViewGroup.java:4966)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
        at android.view.Choreographer.doCallbacks(Choreographer.java:580)
        at android.view.Choreographer.doFrame(Choreographer.java:550)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5221)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“int java.lang.String.hashCode()”
在com.android.volley.Request.(Request.java:136)
位于com.android.volley.toolbox.ImageRequest。(ImageRequest.java:71)
位于com.android.volley.toolbox.ImageLoader.get(ImageLoader.java:219)
位于com.android.volley.toolbox.ImageLoader.get(ImageLoader.java:171)
在com.android.volley.toolbox.NetworkImageView.LoadImageIfEssential上(NetworkImageView.java:141)
位于com.android.volley.toolbox.NetworkImageView.onLayout(NetworkImageView.java:190)
位于android.view.view.layout(view.java:15596)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:508)
位于android.view.view.layout(view.java:15596)
位于android.view.ViewGroup.layout(ViewGroup.java:4966)
位于android.widget.GridView.setupChild(GridView.java:1542)
在android.widget.GridView.MakeanddView(GridView.java:1436)中
位于android.widget.GridView.makeRow(GridView.java:361)
在android.widget.GridView.fillDown(GridView.java:302)中
位于android.widget.GridView.fillFromTop(GridView.java:437)
在android.widget.GridView.layoutChildren(GridView.java:1276)上
在android.widget.AbsListView.onLayout(AbsListView.java:2148)
位于android.view.view.layout(view.java:15596)
位于android.view.ViewGroup.layout(ViewGroup.java:4966)
位于android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
位于android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
位于android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
位于android.view.view.layout(view.java:15596)
位于android.view.ViewGroup.layout(ViewGroup.java:4966)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:508)
在android.widget.ScrollView.onLayout(ScrollView.java:1502)上
位于android.view.view.layout(view.java:15596)
位于android.view.ViewGroup.layout(ViewGroup.java:4966)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:508)
位于android.view.view.layout(view.java:15596)
位于android.view.ViewGroup.layout(ViewGroup.java:4966)
位于com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:494)
位于android.view.view.layout(view.java:15596)
位于android.view.ViewGroup.layout(ViewGroup.java:4966)
位于android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
位于android.widget.FrameLayout.onLayout(FrameLayout.java:508)
位于android.view.view.layout(view.java:15596)
位于android.view.ViewGroup.layout(ViewGroup.java:4966)
在android.view.ViewRootImpl.performLayout上(ViewRootImpl.java:2072)
在android.view.ViewRootImpl.performTraversals上(ViewRootImpl.java:1829)
位于android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
在android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
在android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
位于android.view.Choreographer.doCallbacks(Choreographer.java:580)
位于android.view.Choreographer.doFrame(Choreographer.java:550)
在android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)中
位于android.os.Handler.handleCallback(Handler.java:739)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:135)
位于android.app.ActivityThread.main(ActivityThread.java:5221)
位于java.lang.reflect.Method.invoke(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:372)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

有谁能帮我解决这个问题吗?

获取字符串值为null,因为此实例显示string.hashcode()错误

您应该检查从服务器获取数据的图像的null值。

检查您的清单。请确保在那里使用internet写入权限。

我也有同样的问题。我想刚找到一个解决办法。在指向您尝试与之通信的服务器的链接中,在添加域和所有域之前,请指定通信协议,即“http://”或“https://”。那帮我修好了。我希望它能有所帮助

我在另一个内容中遇到了这个错误,并通过在Android Studio中更新Android SDK修复了它。
可能有帮助。

我的服务器是https,因此出现了不同的错误。我删除了https,只保留了域名,但它无法工作,因此我最终设置了https:并联系了我的主机,以简化域上的安全规则或为特定域创建特殊设置。检查您在何处实现站点url,并根据站点在浏览器上的外观添加http或https。

使用适当的@serializedName注释更改api响应(数据类)。

可能重复@Selvin No.。这不是空指针的重复项……您在空字符串上调用的是#hashCode()。@nbokma