You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android使用Volley解析Pixabay API的JSON后RecyclerView不显示数据

故障修复方案

以下3处硬伤是直接导致列表无法加载的核心原因,逐一修复即可正常运行:

  • 接口参数拼写错误
    你构造的Pixabay请求URL中,image_type参数值错写为photov,末尾多了冗余字符v,接口收到非法参数会直接返回空的hits数组,拿不到任何图片数据。将参数修正为合法值即可:
    String url = "https://pixabay.com/api/?key=28270765-21ee0e4f869cf621c16ee710e&q=kitten&image_type=photo";
    
  • 列表项布局存在致命错误
    第一,Example_item.xml文件开头缺少XML声明的起始尖括号,当前第一行写为?xml version="1.0" encoding="utf-8"?>,布局解析阶段直接报错,列表项根本无法被inflate加载,需要在开头补全左尖括号,修正为<?xml version="1.0" encoding="utf-8"?>。
    第二,列表项根布局CardView的高度被设置为match_parent,单个列表项会占满整个屏幕,即使加载出数据也无法正常滑动浏览列表,需要将高度属性改为wrap_content,建议加个外边距让列表样式更美观:
    <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp">
    
  • 缺少必要网络权限配置
    你需要在AndroidManifest.xml文件中添加网络权限声明,否则应用没有联网权限,Volley根本发不出请求:
    <uses-permission android:name="android.permission.INTERNET" />
    
    如果你的应用targetSdkVersion >= 28,遇到网络请求被拦截的情况,可以在<application>标签下添加android:usesCleartextTraffic="true"配置放开网络限制。

可选优化:不需要每次接口返回数据都重新创建Adapter实例,可以在onCreate阶段初始化Adapter并绑定给RecyclerView,接口拉取到数据添加到列表后,调用mExampleAdapter.notifyDataSetChanged()触发刷新即可,性能更好。

内容的提问来源于stack exchange,提问作者Tanson marcwill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:33:25