android - i need to change my listview to extend baseAdapter using the ArrayList<HashMap<String, String>> -


i have activity use list view , display values after fetching mysql database application work fine wnat changed list activity extends baseadapter because need add in row 2 text view.

can me make change ????

this code

user.java

package com.devleb.logindemo;  import java.util.date;  public class user {      string name;      public string getname() {         return name;     }      public void setname(string name) {         this.name = name;     }      public date getdate() {         return date;     }      public void setdate(date date) {         this.date = date;     }      date date; } 

customadapter.java

package com.devleb.logindemo;  import java.util.arraylist; import java.util.date;  import android.content.context; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.baseadapter; import android.widget.textview;  public class customadapter extends baseadapter {      private static arraylist<user> userslist;      // private static arraylist name, date;     layoutinflater layoutinflater;     string[] username;     date[] createddate;     context context;      public customadapter(arraylist<user> result, context c) {         userslist = result;         context = c;      }      @override     public int getcount() {         // todo auto-generated method stub         return userslist.size();     }      @override     public object getitem(int arg0) {         // todo auto-generated method stub         return userslist.get(arg0);     }      @override     public long getitemid(int arg0) {         // todo auto-generated method stub         return arg0;     }      @override     public view getview(int position, view arg1, viewgroup parent) {         // todo auto-generated method stub          layoutinflater = (layoutinflater) context                 .getsystemservice(context.layout_inflater_service);         view row = null;          row = layoutinflater.inflate(r.layout.list_item, parent, false);         textview txtcreatedate = (textview) row                 .findviewbyid(r.id.txtcreatedate);          txtcreatedate.settext(userslist.get(position).getdate().tostring());          textview txtname = (textview) row.findviewbyid(r.id.name);          txtname.settext(userslist.get(position).getname());         return row;     }  } 

now how add custom adapter userlistactivity ???

userlistactivity.java

package com.devleb.logindemo;  import java.util.arraylist; import java.util.hashmap; import java.util.list;  import org.apache.http.namevaluepair; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject;  import android.os.asynctask; import android.os.bundle; import android.app.activity; import android.app.listactivity; import android.content.intent; import android.util.log; import android.view.menu; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.listadapter; import android.widget.listview; import android.widget.simpleadapter; import android.widget.textview; import android.widget.toast;  public class userlistactivity extends listactivity {      jsonparser jsonparser = new jsonparser();      arraylist<hashmap<string, string>> userslist;      private static string url_display_user = "http://10.0.3.2/android_connect/display_user.php";      // json node names     private static final string tag_success = "success";     private static final string tag_message = "message";      private static final string tag_id = "id";      private static final string tag_users = "userlist";      private static final string tag_user = "user";     private static final string tag_date = "create_date";       // private static final string tag_name = "name";      // employees jsonarray     jsonarray users = null;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_user_list);          userslist = new arraylist<hashmap<string, string>>();          new getuserlist().execute();          // getlistview         listview lv = getlistview();          lv.setonitemclicklistener(new onitemclicklistener() {              @override             public void onitemclick(adapterview<?> arg0, view view, int arg2,                     long arg3) {                  // string id = ((textview)                 // view.findviewbyid(r.id.uid)).gettext()                 // .tostring();                  // intent in = new intent(getbasecontext(), statuslist.class);                 // in.putextra(tag_id, uid);                  // startactivity(in);             }         });     }      class getuserlist extends asynctask<string, string, string> {          /**          * before starting background thread show progress dialog          * */         @override         protected void onpreexecute() {             super.onpreexecute();              userlistactivity.this.setprogressbarindeterminatevisibility(true);         }          @override         protected string doinbackground(string... params) {             // todo auto-generated method stub              // building parameters             list<namevaluepair> parametres = new arraylist<namevaluepair>();             // getting json string url             jsonobject json = jsonparser.makehttprequest(url_display_user,                     "get", parametres);              // check log cat json reponse             log.d("all users: ", json.tostring());              try {                 // checking success tag                 int success = json.getint(tag_success);                  if (success == 1) {                     // products found                     // getting array of products                     users = json.getjsonarray(tag_users);                      // looping through users                     (int = 0; < users.length(); i++) {                         jsonobject c = users.getjsonobject(i);                          // storing each json item in variable                         string id = c.getstring(tag_id);                         string user = c.getstring(tag_user);                          // creating new hashmap                         hashmap<string, string> map = new hashmap<string, string>();                          // adding each child node hashmap key => value                         map.put(tag_id, id);                         map.put(tag_user, user);                          // adding hashlist arraylist                         userslist.add(map);                      }                     return json.getstring(tag_message);                 } else {                      return json.getstring(tag_message);                  }             } catch (jsonexception e) {                 e.printstacktrace();             }              return null;         }          /**          * after completing background task dismiss progress dialog          * **/         protected void onpostexecute(string result) {             // dismiss dialog after getting products             if (result != null) {                  userlistactivity.this                         .setprogressbarindeterminatevisibility(false);                  /**                  * updating parsed json data listview                  * */                 listadapter adapter = new simpleadapter(userlistactivity.this,                         userslist, r.layout.list_item, new string[] { tag_id,                                 tag_user }, new int[] { r.id.uid, r.id.name });                 // updating listview                 setlistadapter(adapter);                  toast.maketext(getbasecontext(), result, toast.length_long)                         .show();              }         }      }      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.user_list, menu);         return true;     }  } 

i know change must done in onpostexecute()

is problem??

 public class customadapter extends baseadapter {          private static arraylist<user> userslist;          // private static arraylist name, date;         layoutinflater layoutinflater;         string[] username;         date[] createddate;         context context;          public customadapter(arraylist<hashmap<string,string> result, context c) {             userslist = result;             context = c;          }          @override         public int getcount() {             // todo auto-generated method stub             return userslist.size();         }          @override         public object getitem(int arg0) {             // todo auto-generated method stub             return userslist.get(arg0);         }          @override         public long getitemid(int arg0) {             // todo auto-generated method stub             return arg0;         }          @override         public view getview(int position, view arg1, viewgroup parent) {             //get hashmap             hashmap<string,string> map = userlist.get(position);              //do ever want hashmap             return row;         }      } 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -