java - i use Glide for my image display in android studio but how can i implement Glide to my listview? -
i need anyone.. please respect question..
ok, problem want use glide listview dont know do..
please constract listviewadapter glide work give me other possible solution achieve goal..
my goal want display image , text in listview or gridview glide , json, json result php script..
here code..
categoryfragment.java
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 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<hashmap<string, string>> 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<string, void, string> { @override protected void onpreexecute() { super.onpreexecute(); // create 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 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 utf-8 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 } { try{if(inputstream != null)inputstream.close();}catch(exception squish){} } return result; } @override protected void onpostexecute(string result){ myjson=result; try { // locate array name in json jsonobject jsonobj = new jsonobject(myjson); jsonarray = jsonobj.getjsonarray("products"); arraylist = new arraylist<hashmap<string, string>>(); (int = 0; < jsonarray.length(); i++) { hashmap<string, string> map = new hashmap<string, string>(); 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 json objects array arraylist.add(map); } } catch (jsonexception e) { log.e("error", e.getmessage()); e.printstacktrace(); } adapter = new listviewadapter(getactivity(), arraylist); // set adapter listview productlistview.setadapter(adapter); // close progressdialog mprogressdialog.dismiss(); } } downloadjson g = new downloadjson(); g.execute(); } @override public void onattach(activity activity) { super.onattach(activity); ((mainactivity) activity).onsectionattached(2); } }
listviewadapter.java
package com.example.administrator.mosbeau; /** * created 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<hashmap<string, string>> data; imageloader imageloader; hashmap<string, string> resultp = new hashmap<string, string>(); public listviewadapter(context context, arraylist<hashmap<string, string>> 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); // position resultp = data.get(position); // locate 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 imageview in product_listview_item.xml products_image = (imageview) itemview.findviewbyid(r.id.products_image); // capture position , set results 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 , set results imageview // passes flag images url 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) { // position resultp = data.get(position); intent intent = new intent(context, singleitemview.class); // pass data rank intent.putextra("products_id", resultp.get(categoryfragment.products_id)); // pass data country intent.putextra("products_name", resultp.get(categoryfragment.products_name)); // pass data population intent.putextra("products_price",resultp.get(categoryfragment.products_price)); // pass data flag intent.putextra("products_image", resultp.get(categoryfragment.products_image)); // start singleitemview class context.startactivity(intent); } }); return itemview; } }
just use : glide.with(context) .load(resultp.get(categoryfragment.products_image)) .into(products_image);
in place of
imageloader.displayimage(resultp.get(categoryfragment.products_image), products_image);
in listviewadapter.java
Comments
Post a Comment