每次Json结果只有一个项目时,RecyclerView错误

时间:2017-04-26 18:31:16

标签: java android json android-recyclerview recycler-adapter

只要api服务器只返回一个json数据,我的recycleler视图总是出错。我正在使用zomato做一个食物推荐系统,每次搜索查询只返回一个餐馆,它不会显示它。就在它只有一家餐馆的时候。当它不止一个时它就可以正常工作。

我的代码:

First part of my code

Second part of my code

抱歉,我还不知道如何在帖子中编写代码,所以我以屏幕截图的形式发布...

哦,zomato api的json格式(/ search)可以在这个页面看到https:// developers。佐马托。 com / documentation?lang = id#!/ restaurant / search

1 个答案:

答案 0 :(得分:0)

您使用:

filterAdapter.notifyItemRangeInserted(curSize, filterRestaurantData.size() - 1)

当列表中只有一个项目时将传递(1,0)。

但该方法采用参数(start,count)

所以你应该在添加之前获得大小:

int oldSize = filterRestaurantData.size();
filterRestaurantData.addAll(searchResult...)

以后再使用:

int numAdded = filterRestaurantData.size() - oldSize;
filterAdapter.notifyItemRangeInserted(oldSize, numAdded);