android - layout element wouldn't be recognized -


i'm using following code display list view database ;however, seems of layout element not recognized .. 1 tell me why ? logcat message: content must have list view id attribute android.r.id.

p.s: appreciated !! // following xml

<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical" android:layout_width="fill_parent"     android:layout_height="fill_parent">      <listview         android:id="@+id/list"         android:layout_width="fill_parent"         android:layout_height="fill_parent" >     </listview>  </linearlayout> 

// following code

package com.example.androidhive;  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.app.listactivity; import android.app.progressdialog; import android.content.context; import android.content.intent; import android.os.asynctask; import android.os.bundle; import android.util.log; import android.view.layoutinflater; import android.view.menu; import android.view.menuitem; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.arrayadapter; import android.widget.checkbox; import android.widget.listadapter; import android.widget.listview; import android.widget.simpleadapter; import android.widget.textview; import android.widget.toast;  public class allproductsactivity extends listactivity {      // progress dialog     private progressdialog pdialog;      // creating json parser object     jsonparser jparser = new jsonparser();      arraylist<hashmap<string, string>> productslist;      // url products list     private static string url_all_products = "http://10.6.13.15/android_connect/get_all_products.php";      // json node names     private static final string tag_success = "success";     private static final string tag_pid= "name";     private static final string tag_category = "category";     private static final string tag_calory = "calory";     /*private static final string tag_unit = "unit";     private static final string tag_calory = "calory";     private static final string tag_carbohydrate = "carbohydrate";     private static final string tag_category = "category";*/     // array defined in php file     private static final string tag_product = "product";     // confirm hash array     private arrayadapter<mitems> listadapter;     private mitems[] itemss;     private listview mainlistview;     arraylist<mitems> planetlist = new arraylist<mitems>();     // products jsonarray     jsonarray products = null;     arraylist<string> checked = new arraylist<string>();     @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.all_products);          mainlistview = (listview)findviewbyid(r.id.list);         // hashmap listview         productslist = new arraylist<hashmap<string, string>>();          // loading products in background thread         new loadallproducts().execute();          // listview         listview lv = getlistview();          // on seleting single product         // launching edit product screen         mainlistview.setonitemclicklistener(new onitemclicklistener() {              @override             public void onitemclick(adapterview<?> parent, view view,                     int position, long id) {                     mitems planet = listadapter.getitem(position);                     planet.togglechecked();                     selectviewholder viewholder = (selectviewholder) view                             .gettag();                     viewholder.getcheckbox().setchecked(planet.ischecked());                     toast.maketext(getapplicationcontext(), "msg msg", toast.length_short).show();                   //*********** our code****************                 // getting values selected listitem                 /*string pid = ((textview) view.findviewbyid(r.id.pid)).gettext()                         .tostring();                  // starting new intent                 intent in = new intent(getapplicationcontext(),                         editproductactivity.class);                 // sending pid next activity                 in.putextra(tag_pid, pid);                  // starting new activity , expecting response                 startactivityforresult(in, 100);*/                 //*********** our code****************             }         });         listadapter = new selectarraladapter(this, planetlist);         mainlistview.setadapter(listadapter);     }     @override     public boolean oncreateoptionsmenu(menu menu) {         // todo auto-generated method stub         menu.add(0, 1, menu.none, "products");         return super.oncreateoptionsmenu(menu);     }      @override     public boolean onoptionsitemselected(menuitem item) {         // todo auto-generated method stub          switch (item.getitemid()) {         case 1:              (int = 0; < checked.size(); i++) {                 log.d("pos : ", "" + checked.get(i));             }             break;         }         return super.onoptionsitemselected(item);     }      // response edit product activity     @override     protected void onactivityresult(int requestcode, int resultcode, intent data) {         super.onactivityresult(requestcode, resultcode, data);         // if result code 100         if (resultcode == 100) {             // if result code 100 received              // means user edited/deleted product             // reload screen again             intent intent = getintent();             finish();             startactivity(intent);             log.d("nun complete","tyt");         }      }      /**      * background async task load product making http request      * */     class loadallproducts extends asynctask<string, string, string> {          /**          * before starting background thread show progress dialog          * */         @override         protected void onpreexecute() {             super.onpreexecute();             pdialog = new progressdialog(allproductsactivity.this);             pdialog.setmessage("loading items. please wait...");             pdialog.setindeterminate(false);             pdialog.setcancelable(false);             pdialog.show();         }          /**          * getting products url          * */         protected string doinbackground(string... args) {             // building parameters             list<namevaluepair> params = new arraylist<namevaluepair>();             // getting json string url             jsonobject json = jparser.makehttprequest(url_all_products, "get", params);              // check log cat json reponse             log.d("all products: ", json.tostring());              try {                 // checking success tag                 int success = json.getint(tag_success);                  if (success == 1) {                     itemss = (mitems[]) getlastnonconfigurationinstance();                     int ii=0;                     while( ii < products.length()){                         jsonobject c = products.getjsonobject(ii);                         string category = c.getstring(tag_category );                         //double dd =c.getdouble(tag_calory);                         string dd = c.getstring(tag_calory );                         //itemss[ii]= dd;                         planetlist.add(new mitems(dd));                          ii++;                        // log.d("d ", textutils.join(",", d));                        }                      // products found                     // getting array of products                     log.d("all products: ", json.tostring());                     products = json.getjsonarray(tag_product);                      // looping through products                     (int = 0; < products.length(); i++) {                         jsonobject c = products.getjsonobject(i);                          // storing each json item in variable                         string id = c.getstring(tag_pid); // name                         string category = c.getstring(tag_category );                         // no need them !!                         /*                         string unit = c.getstring(tag_unit );                         string category = c.getstring(tag_category );                         string calory = c.getstring(tag_calory );                         string carbohydrate = c.getstring(tag_carbohydrate ); */                           // creating new hashmap                         hashmap<string, string> map = new hashmap<string, string>();                          // adding each child node hashmap key => value                         map.put(tag_pid, id);                         map.put(tag_category, category);                         //map.put(tag_name, name);                          // adding hashlist arraylist                         productslist.add(map);                         log.d("all products: ", json.tostring());                     }                 } else {                     // no products found                     // launch add new product activity                     intent = new intent(getapplicationcontext(),                             newproductactivity.class);                     // closing previous activities                     i.addflags(intent.flag_activity_clear_top);                     startactivity(i);                 }             } catch (jsonexception e) {                 e.printstacktrace();             }              return null;         }          /**          * after completing background task dismiss progress dialog          * **/         /*         protected void onpostexecute(string file_url) {             // dismiss dialog after getting products             pdialog.dismiss();             // updating ui background thread             runonuithread(new runnable() {                 public void run() {                     /**                      * updating parsed json data listview                      *                      listadapter adapter = new simpleadapter(                             allproductsactivity.this, productslist,                             r.layout.list_item, new string[] { tag_pid,                                     tag_category},                             new int[] { r.id.pid, r.id.category});                     // updating listview                     setlistadapter(adapter);                 }             });          }          */      }     private static class mitems {         private string name = "";         private boolean checked = false;         private double calory = 0.0;         public mitems() {         }          public mitems(string name) {             this.name = name;         }          public mitems(string name, boolean checked) {             this.name = name;             this.checked = checked;         }          public string getname() {             return name;         }          public double getcalroy() {             return calory;         }         public void setname(string name) {             this.name = name;         }          public boolean ischecked() {             return checked;         }          public void setchecked(boolean checked) {             this.checked = checked;         }          public string tostring() {             return name;         }          public void togglechecked() {             checked = !checked;         }     }     // new class     private static class selectviewholder {         private checkbox checkbox;         private textview textview;          public selectviewholder() {         }          public selectviewholder(textview textview, checkbox checkbox) {             this.checkbox = checkbox;             this.textview = textview;         }          public checkbox getcheckbox() {             return checkbox;         }          public void setcheckbox(checkbox checkbox) {             this.checkbox = checkbox;         }          public textview gettextview() {             return textview;         }          public void settextview(textview textview) {             this.textview = textview;         }     }     // new class     private static class selectarraladapter extends arrayadapter<mitems> {         private layoutinflater inflater;          public selectarraladapter(context context, list<mitems> planetlist) {             super(context, r.layout.list_item, r.id.rowtextview, planetlist);             // cache layoutinflate avoid asking new 1 each time.             inflater = layoutinflater.from(context);         }          @override         public view getview(int position, view convertview, viewgroup parent) {             // planet display             mitems planet = (mitems) this.getitem(position);              // child views in each row.             checkbox checkbox;             textview textview;             textview here;             // create new row view             if (convertview == null) {                 convertview = inflater.inflate(r.layout.list_item, null);                  // find child views.                 textview = (textview) convertview                         .findviewbyid(r.id.rowtextview);                 checkbox = (checkbox) convertview.findviewbyid(r.id.checkbox01);                  // optimization: tag row it's child views, don't                 // have                 // call findviewbyid() later when reuse row.                 convertview.settag(new selectviewholder(textview, checkbox));                 // if checkbox toggled, update planet tagged with.                 checkbox.setonclicklistener(new view.onclicklistener() {                     public void onclick(view v) {                         checkbox cb = (checkbox) v;                         mitems planet = (mitems) cb.gettag();                         planet.setchecked(cb.ischecked());                     }                 });             }             // reuse existing row view             else {                 // because use viewholder, avoid having call                 // findviewbyid().                 selectviewholder viewholder = (selectviewholder) convertview                         .gettag();                 checkbox = viewholder.getcheckbox();                 textview = viewholder.gettextview();             }              // tag checkbox planet displaying, can             // access planet in onclick() when checkbox toggled.             checkbox.settag(planet);             // display planet data             checkbox.setchecked(planet.ischecked());             textview.settext(planet.getname());              return convertview;         }     }     public object onretainnonconfigurationinstance() {         return itemss;     } } 

you using listactivity instead of normal activity, view should have default android:id/list:.
change list view in xml

<listview    android:id="@android:id/list"     android:layout_width="fill_parent"     android:layout_height="fill_parent" > </listview> 

check listactivity tutorial more info


Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -