Android 获取json API后过滤RecyclerView项(城市)

Android 获取json API后过滤RecyclerView项(城市),android,android-recyclerview,retrofit,Android,Android Recyclerview,Retrofit,因此,我的应用程序已成功运行 1) 确定的用户位置(GPS坐标) 2) 将这些坐标传递给API,并通过改装检索特定于位置的数据 3) 向Recyclerview填充的数据 4) 实现了搜索功能,用户可以根据需要过滤recyclerview。例如,用户可以搜索“pizza”,并将其结果从包含字符串“pizza”的初始值300缩减为20 最后,我想让用户能够按城市名称进行过滤。我想向用户提供由recycleview列表生成的城市列表。当然,该列表每次都会根据用户的初始搜索条件进行更改。如何获取城市列

因此,我的应用程序已成功运行

1) 确定的用户位置(GPS坐标)

2) 将这些坐标传递给API,并通过改装检索特定于位置的数据

3) 向Recyclerview填充的数据

4) 实现了搜索功能,用户可以根据需要过滤recyclerview。例如,用户可以搜索“pizza”,并将其结果从包含字符串“pizza”的初始值300缩减为20

最后,我想让用户能够按城市名称进行过滤。我想向用户提供由recycleview列表生成的城市列表。当然,该列表每次都会根据用户的初始搜索条件进行更改。如何获取城市列表,这是从API检索到的项目字段之一

“城市”过滤器可以在其他过滤器之前、之后或代替其他过滤器进行。换句话说,如果我只能做一个,没关系,那么我只做“城市”过滤器,而不提供通配符过滤器

任何帮助都是值得感激的,即使它只是需要做什么的高层次视图。我想最重要的是,我需要知道如何得到这份名单。我对recyclerview实际工作原理的了解有限,这告诉我这可能不可用。

@Override
        @Override
        public void onResponse(Call<Api> call, Response<Api> response) {

            Api api = response.body();

            data = new ArrayList<>(Arrays.asList(api.getDetails()));

            //get city string array
            String[] sa_cities = new String[data.size()];
            for (int i = 0; i < sa_cities.length; i++) {
                sa_cities[i] = data.get(i).getLocation();
            }

            adapter = new DataAdapter(data);
            recyclerView.setAdapter(adapter);


        @Override
        public void onFailure(Call<Api> call, Throwable t) {
            Log.d("Error",t.getMessage());
        }
公共void onResponse(调用、响应){ Api=response.body(); data=newarraylist(Arrays.asList(api.getDetails()); //获取城市字符串数组 字符串[]sau cities=新字符串[data.size()]; 对于(int i=0;i
如果它们支持多个过滤器,您可以再次发出API请求。否则,您将在recycler视图的onBindViewHolder方法中设置一些条件。