获取json API

时间:2018-01-04 18:22:38

标签: android android-recyclerview retrofit

所以,我的应用已成功

1)识别用户的位置(GPS坐标)

2)将这些坐标传递给API并通过改造检索位置特定数据。

3)填充数据到Recyclerview。

4)为用户实施搜索功能,以根据需要过滤Recyclerview。例如,用户可以搜索“披萨”并将其结果从最初的300缩小到20,其中包含字符串“披萨”。

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

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

任何帮助都会受到赞赏,即使它只是对需要完成的工作的高级视图。我想首先,我需要知道如何获得该列表。我对recyclelerview实际工作原理的了解有限,这告诉我这可能不可用。

1 个答案:

答案 0 :(得分:0)

        @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());
        }