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