title: i use Glide for my image display in android studio but how can i implement Glide to my listview?
body: <p>I need help from anyone.. please respect my question..</p>
  
  <p>ok, my problem is i want to use Glide for my listview but i dont know to do..</p>
  
  <p>please constract my listviewadapter so that the Glide will work give me any other possible solution to achieve my goal..</p>
  
  <p>my goal is i just want to display image and text in listview or gridview with Glide and JSON, the JSON result is from my php script..</p>
  
  <p>here is my code..</p>
  
  <p><strong>CategoryFragment.java</strong></p>
  
  <pre><code>package com.example.administrator.mosbeau;
  
  import android.app.Activity;
  import android.app.Fragment;
  import android.app.FragmentManager;
  import android.app.ProgressDialog;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.support.annotation.Nullable;
  import android.util.Log;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.EditText;
  import android.widget.ExpandableListView;
  import android.widget.ListView;
  
  import org.apache.http.HttpEntity;
  import org.apache.http.HttpResponse;
  import org.apache.http.NameValuePair;
  import org.apache.http.client.HttpClient;
  import org.apache.http.client.entity.UrlEncodedFormEntity;
  import org.apache.http.client.methods.HttpPost;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.apache.http.message.BasicNameValuePair;
  import org.apache.http.params.BasicHttpParams;
  import org.apache.http.params.HttpConnectionParams;
  import org.apache.http.params.HttpParams;
  import org.apache.http.util.EntityUtils;
  import org.json.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import java.io.BufferedReader;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.List;
  
  /**
   * Created by Administrator on 9/18/2015.
   */
  public class CategoryFragment extends Fragment {
  
      public static CategoryFragment newInstance(String id,String name) {
          CategoryFragment fragment = new CategoryFragment();
  
          Bundle bundle = new Bundle();
          bundle.putString("id", id);
          bundle.putString("name", name);
          fragment.setArguments(bundle);
  
          return fragment;
      }
  
      public CategoryFragment () {
      }
  
      EditText tpid, tpname;
      String cid;
      String cname;
  
      String myJSON;
      JSONObject jsonobject;
      JSONArray jsonarray;
      ListView productlistview;
      ListViewAdapter adapter;
      ProgressDialog mProgressDialog;
      ArrayList&lt;HashMap&lt;String, String&gt;&gt; arraylist;
      public static String products_id = "products_id";
      public static String products_name = "products_name";
      public static String products_price = "products_price";
      public static String products_image = "products_image";
  
      Boolean InternetAvailable = false;
      Seocnd detectconnection;
  
      @Nullable
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
          View rootView = inflater.inflate(R.layout.categorylayout, container, false);
  
          getActivity().invalidateOptionsMenu();
  
          tpid = (EditText) rootView.findViewById(R.id.tpid);
          tpname = (EditText) rootView.findViewById(R.id.tpname);
  
          if(getArguments() != null) {
              String catid = getArguments().getString("id");
              String catname = getArguments().getString("name");
  
              tpid.setText(catid);
              tpname.setText(catname);
              cid = catid;
              cname = catname;
          }
  
          productlistview = (ListView) rootView.findViewById(R.id.productlistview);
  
          //new DownloadJSON().execute();
  
          detectconnection = new Seocnd(getActivity());
          InternetAvailable = detectconnection.InternetConnecting();
          if (InternetAvailable) {
              getProduct();
          } else {
              NointernetFragment fragment = new NointernetFragment();
              FragmentManager fragmentManager = getFragmentManager();
              fragmentManager.beginTransaction()
                      .replace(R.id.container, fragment)
                      .commit();
          }
  
          return rootView;
      }
  
      public void getProduct(){
          class DownloadJSON extends AsyncTask&lt;String, Void, String&gt; {
  
              @Override
              protected void onPreExecute() {
                  super.onPreExecute();
                  // Create a progressdialog
                  mProgressDialog = new ProgressDialog(getActivity());
                  // Set progressdialog title
                  mProgressDialog.setTitle(cname);
                  // Set progressdialog message
                  mProgressDialog.setMessage("Loading...");
                  mProgressDialog.setIndeterminate(false);
                  // Show progressdialog
                  mProgressDialog.show();
              }
  
              @Override
              protected String doInBackground(String... params) {
                  DefaultHttpClient httpclient = new DefaultHttpClient(new BasicHttpParams());
                  HttpPost httppost = new HttpPost("http://joehamirbalabadan.com/android/android/products.php");
  
                  // Depends on your web service
                  httppost.setHeader("Content-type", "application/json");
  
                  InputStream inputStream = null;
                  String result = null;
                  try {
                      HttpResponse response = httpclient.execute(httppost);
                      HttpEntity entity = response.getEntity();
  
                      inputStream = entity.getContent();
                      // json is UTF-8 by default
                      BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), 8);
                      StringBuilder sb = new StringBuilder();
  
                      String line = null;
                      while ((line = reader.readLine()) != null)
                      {
                          sb.append(line + "\n");
                      }
                      result = sb.toString();
                  } catch (Exception e) {
                      // Oops
                  }
                  finally {
                      try{if(inputStream != null)inputStream.close();}catch(Exception squish){}
                  }
                  return result;
              }
  
              @Override
              protected void onPostExecute(String result){
                  myJSON=result;
  
                  try {
                      // Locate the array name in JSON
                      JSONObject jsonObj = new JSONObject(myJSON);
                      jsonarray = jsonObj.getJSONArray("products");
  
                      arraylist = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;();
  
                      for (int i = 0; i &lt; jsonarray.length(); i++) {
                          HashMap&lt;String, String&gt; map = new HashMap&lt;String, String&gt;();
                          JSONObject p = jsonarray.getJSONObject(i);
                          // Retrive JSON Objects
                          map.put("products_id", p.getString("products_id"));
                          map.put("products_name", p.getString("products_name"));
                          map.put("products_price", p.getString("products_price"));
                          map.put("products_image", p.getString("products_image"));
                          // Set the JSON Objects into the array
                          arraylist.add(map);
                      }
                  } catch (JSONException e) {
                      Log.e("Error", e.getMessage());
                      e.printStackTrace();
                  }
  
                  adapter = new ListViewAdapter(getActivity(), arraylist);
                  // Set the adapter to the ListView
                  productlistview.setAdapter(adapter);
                  // Close the progressdialog
                  mProgressDialog.dismiss();
              }
          }
          DownloadJSON g = new DownloadJSON();
          g.execute();
      }
  
      @Override
      public void onAttach(Activity activity) {
          super.onAttach(activity);
          ((MainActivity) activity).onSectionAttached(2);
      }
  }
  </code></pre>
  
  <p><strong>ListViewAdapter.java</strong></p>
  
  <pre><code>package com.example.administrator.mosbeau;
  
  /**
   * Created by Administrator on 9/28/2015.
   */
  
  import android.content.Context;
  import android.content.Intent;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.view.ViewGroup;
  import android.widget.BaseAdapter;
  import android.widget.ImageView;
  import android.widget.TextView;
  
  import java.util.ArrayList;
  import java.util.HashMap;
  
  import com.bumptech.glide.Glide;
  
  public class ListViewAdapter extends BaseAdapter {
  
      // Declare Variables
      Context context;
      LayoutInflater inflater;
      ArrayList&lt;HashMap&lt;String, String&gt;&gt; data;
      ImageLoader imageLoader;
      HashMap&lt;String, String&gt; resultp = new HashMap&lt;String, String&gt;();
  
      public ListViewAdapter(Context context,
                             ArrayList&lt;HashMap&lt;String, String&gt;&gt; arraylist) {
          this.context = context;
          data = arraylist;
          imageLoader = new ImageLoader(context);
      }
  
      @Override
      public int getCount() {
          return data.size();
      }
  
      @Override
      public Object getItem(int position) {
          return null;
      }
  
      @Override
      public long getItemId(int position) {
          return 0;
      }
  
      public View getView(final int position, View convertView, ViewGroup parent) {
          // Declare Variables
          TextView products_id;
          TextView products_name;
          TextView products_price;
          ImageView products_image;
  
          inflater = (LayoutInflater) context
                  .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  
          View itemView = inflater.inflate(R.layout.product_listview_item, parent, false);
          // Get the position
          resultp = data.get(position);
  
          // Locate the TextViews in product_listview_item.xml
          products_id = (TextView) itemView.findViewById(R.id.products_id);
          products_name = (TextView) itemView.findViewById(R.id.products_name);
          products_price = (TextView) itemView.findViewById(R.id.products_price);
  
          // Locate the ImageView in product_listview_item.xml
          products_image = (ImageView) itemView.findViewById(R.id.products_image);
  
          // Capture position and set results to the TextViews
          products_id.setText(resultp.get(CategoryFragment.products_id));
          products_name.setText(resultp.get(CategoryFragment.products_name));
          products_price.setText(resultp.get(CategoryFragment.products_price));
          // Capture position and set results to the ImageView
          // Passes flag images URL into ImageLoader.class
          imageLoader.DisplayImage(resultp.get(CategoryFragment.products_image), products_image);
          // Capture ListView item click
          itemView.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View arg0) {
                  // Get the position
                  resultp = data.get(position);
                  Intent intent = new Intent(context, SingleItemView.class);
                  // Pass all data rank
                  intent.putExtra("products_id", resultp.get(CategoryFragment.products_id));
                  // Pass all data country
                  intent.putExtra("products_name", resultp.get(CategoryFragment.products_name));
                  // Pass all data population
                  intent.putExtra("products_price",resultp.get(CategoryFragment.products_price));
                  // Pass all data flag
                  intent.putExtra("products_image", resultp.get(CategoryFragment.products_image));
                  // Start SingleItemView Class
                  context.startActivity(intent);
  
              }
          });
          return itemView;
      }
  }
  </code></pre>