0
我正在使用Volley Library获取数据并将其填充到ListView中。它工作正常。但现在我需要实现搜索过滤器。我搞砸了它的实现。请帮助我。Volley Library数据库中的SearchView实现
在这里,我需要将我的搜索查询发送到服务器。
您的回答是更多的赞赏。
这里是我的代码来获得使用凌空库从服务器数据:
private void getData() {
final ProgressDialog loading = ProgressDialog.show(context, "Loading Data", "Please wait...", false, false);
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Config.DATA_URL, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
loading.dismiss();
parseData(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(context);
requestQueue.add(jsonArrayRequest);
}
private void parseData(JSONArray array) {
for (int i = 0; i < array.length(); i++) {
Restaurant_Beam superHero = new Restaurant_Beam();
JSONObject json = null;
try {
json = array.getJSONObject(i);
superHero.setStr_categoryName(json.getString(Config.CATEGORY_NAME));
superHero.setStr_productName(json.getString(Config.PRODUCT_NAME));
superHero.setStrPrice(json.getInt(String.valueOf(Config.PRICE)));
superHero.setImageUrl(json.getString(Config.TAG_IMAGE_URL));
superHero.setTAB_NAME(json.getString(Config.TAB_NAME));
superHero.setLikeCount(json.getInt(Config.LIKE_COUNT));
superHero.setCommentCount(json.getInt(Config.COMMENT_COUNT));
superHero.setProduct_id(json.getString(Config.PRODUCT_ID));
String productId = json.getString(Config.LIKE_COUNT);
product_Id.add(productId);
} catch (JSONException e) {
e.printStackTrace();
}
if (superHero.getTAB_NAME().contains(currentTab)) {
listSuperHeroes.add(superHero);
adapter = new CardAdapter(listSuperHeroes, context);
recyclerView.setAdapter(adapter);
}
}
}
请解释我。我不明白你想说什么。 @Haniyeh Khaksar –
@ParamaSudha你无法在每个添加项目中生成一个适配器实例。您必须在循环之前制作一个实例适配器并将其设置为您的回收站。然后在每次向数据添加项目后,notifyDatasetChenaged您的适配器。 –
非常感谢你 –