android - Add SQLite database data to Listview -


i checked out tutorial: http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

now want load data in listview. here try:

private arrayadapter<contact> adapter;     @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);           databasehandler db = new databasehandler(this);          /**          * crud operations          * */         // inserting contacts         log.d("insert: ", "inserting ..");         db.addcontact(new contact("ravi", "9100000000"));         db.addcontact(new contact("srinivas", "9199999999"));         db.addcontact(new contact("tommy", "9522222222"));         db.addcontact(new contact("karthik", "9533333333"));          // reading contacts         log.d("reading: ", "reading contacts..");         list<contact> contacts = db.getallcontacts();          (contact cn : contacts) {             string log = "id: " + cn.getid() + " ,name: " + cn.getname() + " ,phone: " + cn.getphonenumber();             // writing contacts log             log.d("name: ", log);          }           // create adapter using cursor pointing desired data         //as layout information         adapter = new arrayadapter<contact>(getapplicationcontext(), r.layout.list_view, contacts);           listview listview = (listview) findviewbyid(r.id.list);         // assign adapter listview         listview.setadapter(dataadapter);      } 

so class contact can see in url androidhive.

well thing supplying contact arrayadapter ,but needs string populate values

or use customadapter popluate vaues regarding contact in list

1.create layout single item,in case create list_item.xml in layout folder

list_item.xml

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="80dp"     android:padding="6dip" >      <textview         android:id="@+id/contactname"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:textsize="15sp" />      <textview         android:id="@+id/contactphone"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:textsize="16sp" />  </relativelayout>  

2.create customadapter extends arrayadapter

customadapter.java

 public class customadapter extends arrayadapter<contacts> {       private final context context;       private arraylist<contacts> contacts;        public customadapter(context context,arraylist<contacts> contacts) {         super(context, r.layout.list_item, values);         this.context = context;         this.contacts= contacts;       }        @override       public view getview(int position, view convertview, viewgroup parent) {         layoutinflater inflater = (layoutinflater) context             .getsystemservice(context.layout_inflater_service);         view rowview = inflater.inflate(r.layout.list_item, parent, false);         textview name= (textview) rowview.findviewbyid(r.id.contactname);         textview mobile= (textview) rowview.findviewbyid(r.id.contactphone);         name.settext(contacts.get(position).getname());         mobile.settext(contacts.get(position).getphonenumber());         return rowview;       }     }  

3.call adpater activity

customadapter adapter = new customadapter (getapplicationcontext(),contacts); listview listview = (listview) findviewbyid(r.id.list); // assign adapter listview listview.setadapter(adapter); 

Comments