public void loadMoreData() { mStartAtResultPage += 4; String url = Constants.BASE_URL + "&start=" + mStartAtResultPage; VolleyApp.getRequestQueue() .add( new JsonObjectRequest( Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { SearchResponse responseObj = VolleyApp.getGsonInstance() .fromJson(response.toString(), SearchResponse.class); if (responseObj != null && responseObj.responseData != null) { // append results to original list mOriginalList.addAll(responseObj.responseData.results); notifyDataSetChanged(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // wohoo there something went wrong error.printStackTrace(); } })); }
@Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; ViewHolder viewHolder; if (v == null) { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate(R.layout.list_item_photo_gallery, null, false); viewHolder = new ViewHolder(); if (v != null) { viewHolder.thumbnail = (NetworkImageView) v.findViewById(R.id.thumbnail); viewHolder.description = (TextView) v.findViewById(R.id.description); v.setTag(viewHolder); } } else { viewHolder = (ViewHolder) v.getTag(); } Result result = mOriginalList.get(position); viewHolder.thumbnail.setDefaultImageResId(android.R.drawable.ic_menu_gallery); viewHolder.thumbnail.setErrorImageResId(android.R.drawable.ic_menu_delete); if (result != null) { if (Constants.USER_NETWORK_IMAGE_VIEWS) { viewHolder.thumbnail.setImageUrl(result.tbUrl, VolleyApp.getImageLoader()); } else { requestImage(viewHolder.thumbnail, result.tbUrl); } } viewHolder.description.setText(result.titleNoFormatting); if (closeToEnd(position)) { loadMoreData(); } return v; }
public void requestImage(final ImageView niv, final String imgUrl) { ImageRequest request = new ImageRequest( imgUrl, new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap bm) { niv.setImageBitmap(bm); niv.invalidate(); } }, 0, 0, Bitmap.Config.ARGB_8888, new Response.ErrorListener() { public void onErrorResponse(VolleyError volleyError) { volleyError.printStackTrace(); } }); request.setTag(Constants.IMAGE_TAG); VolleyApp.getRequestQueue().add(request); }