Я использую BaseAdapter, чтобы поместить данные в grid_view. в адаптере у меня есть image_view (значок списка пожеланий / img_wishlist), по которому можно щелкнуть.
если кликнул img_wishlist, я хочу запросить обновление данных на сервере, используя залп и возвращая строку «status».
если статус равен «добавлен», то этот img_wishlist изменит ресурсы на icon_wishlist_full.
если статус не равен "добавлен" ("удален"), тогда этот img_wishlist изменит ресурсы на icon_wishlist_o
Я создал этот скрипт внутри getView на моем BaseAdapter
img_wishlist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RequestQueue req = Volley.newRequestQueue(context);
StringRequest sr = new StringRequest(Request.Method.POST,Konfigurasi.url_wishlist_update, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jo = new JSONObject(response);
String status = jo.getString("status");
if (status.equals("added")){
Toast.makeText(context,"added to your wishlist",Toast.LENGTH_SHORT).show();
//<---- here change resource image
img_wishlist.setImageResource(R.drawable.icon_wishlist_full);
}else{
Toast.makeText(context,"removed from your wishlist",Toast.LENGTH_SHORT).show();
//<---- here change resource image
img_wishlist.setImageResource(R.drawable.icon_wishlist_o);
}
}catch (JSONException e){
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> parang = new HashMap<String, String>();
parang.put("id_produk",id_produk.get(position));
parang.put("id_member",id_member);
return parang;
}
};
req.add(sr);
}
});
Я пытался изменить ресурсы изображения, используя img_wishlist.setImageResource (R.drawable.icon_wishlist_full); , но все еще не работает.
как изменить imageResource после запроса обновления данных Vollery?