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

如何从JSON数据中筛选特定分类项目并展示到RecyclerView中

筛选指定分类JSON数据加载到RecyclerView 解决方案

修改核心逻辑

  • 预先定义目标分类常量,后续切换筛选分类只需修改该值
  • 分类匹配使用精准匹配,避免contains()带来的误匹配问题
  • 调整项目实例化的代码位置,保证每个项目都被正确添加到列表

修正后完整代码

@Override
public void onResponse(String response) {
    try {
        // 定义你需要筛选的目标分类,切换分类只需修改这个值即可
        String TARGET_CATEGORY = "Cabs"; // 要筛选Truck就改为 "Truck"
        
        JSONArray rootJsonArray = new JSONArray(response);
        // 每次加载数据前先清空旧列表,避免重复加载
        ProjectList.clear();

        for (int i = 0; i < rootJsonArray.length(); i++) {
            JSONObject categoryObj = rootJsonArray.getJSONObject(i);
            String categoryName = categoryObj.getString("category_name");

            // 此处添加分类判断,精准匹配目标分类,如需忽略大小写可改用 equalsIgnoreCase()
            if (categoryName.equals(TARGET_CATEGORY)) {
                JSONArray projectArray = categoryObj.getJSONArray("projects");
                // 遍历当前分类下的所有项目
                for (int j = 0; j < projectArray.length(); j++) {
                    JSONObject projectObj = projectArray.getJSONObject(j);
                    String p_id = projectObj.getString("id");
                    String p_name = projectObj.getString("name");
                    // 每个项目对应生成一个Model,放在内层循环里
                    ProjectItemModel projectItemModel = new ProjectItemModel(p_id, p_name);
                    ProjectList.add(projectItemModel);
                }
            }
        }
        // 配置RecyclerView
        mAdapter = new ProjectAdapter(ProjectList);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(context);
        project_rv.setLayoutManager(layoutManager);
        project_rv.setAdapter(mAdapter);
        // 新增列表刷新通知,防止界面不更新
        mAdapter.notifyDataSetChanged();
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

补充说明

如果需要模糊匹配分类名称,可以把判断条件改为if (categoryName.contains(TARGET_CATEGORY)),同时建议添加trim()去除字符串前后空格,避免接口返回带空格的分类名导致匹配失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:45:02