problem showing object in SimpleExpandableActivity android -


hello have simple expandable list activity working fine until changed this: list<map<string, string>> groupdata = new arraylist<map<string, string>>(); this: list<map<string, image>> groupdata = new arraylist<map<string, image>>(); guess when set textview items in simple expandable list adapter's constructor textview expecting strings instead of objects. there way work arround ? or have stuck strings? here's code:

 public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);          setcontentview(r.layout.expandable_list_layout);          list<user> header = new arraylist<user>();         header.add(new user("john"));         header.add(new user("smith"));         header.add(new user("anderson"));         header.add(new user("trinity"));         header.add(new user("morfeo"));          list<string> gretting = new arraylist<string>();         gretting.add("hello");          list<map<string, user>> groupdata = new arraylist<map<string, user>>();         final list<list<map<string, string>>> childdata = new arraylist<list<map<string, string>>>();          (user user : header) {             map<string, user> curgroupmap = new hashmap<string, user>();             groupdata.add(curgroupmap);             curgroupmap.put(name, user);              list<map<string, string>> children = new arraylist<map<string, string>>();             (string word : gretting) {                 map<string, string> curchildmap = new hashmap<string, string>();                 children.add(curchildmap);                  curchildmap.put(name, word);             }             childdata.add(children);         }          //our adapter          madapter = new simpleexpandablelistadapter(                 getapplicationcontext(),                 groupdata,                 r.layout.simple_expandable_list_item_1,                 new string[] { name },                 new int[] { r.id.header_text1 },                 childdata,                 r.layout.simple_expandable_list_item_2,                 new string[] { name },                 new int[] { r.id.text1 }                 );          expandablelistview lv = (expandablelistview)findviewbyid(r.id.list);         lv.setadapter(madapter);     } } 

so final question is: have implement own simple expandable list adapter able set text myself?

edit: here trace of error:

02-21 08:56:54.128: error/androidruntime(277): java.lang.classcastexception: se.madcoderz.categoryobject.user 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.simpleexpandablelistadapter.bindview(simpleexpandablelistadapter.java:249) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.simpleexpandablelistadapter.getchildview(simpleexpandablelistadapter.java:229) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.expandablelistconnector.getview(expandablelistconnector.java:450) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.abslistview.obtainview(abslistview.java:1315) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.listview.makeandaddview(listview.java:1727) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.listview.filldown(listview.java:652) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.listview.fillspecific(listview.java:1284) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.listview.layoutchildren(listview.java:1558) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.abslistview.onlayout(abslistview.java:1147) 02-21 08:56:54.128: error/androidruntime(277):     @ android.view.view.layout(view.java:7035) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.linearlayout.setchildframe(linearlayout.java:1249) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.linearlayout.layoutvertical(linearlayout.java:1125) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.linearlayout.onlayout(linearlayout.java:1042) 02-21 08:56:54.128: error/androidruntime(277):     @ android.view.view.layout(view.java:7035) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.framelayout.onlayout(framelayout.java:333) 02-21 08:56:54.128: error/androidruntime(277):     @ android.view.view.layout(view.java:7035) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.linearlayout.setchildframe(linearlayout.java:1249) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.linearlayout.layoutvertical(linearlayout.java:1125) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.linearlayout.onlayout(linearlayout.java:1042) 02-21 08:56:54.128: error/androidruntime(277):     @ android.view.view.layout(view.java:7035) 02-21 08:56:54.128: error/androidruntime(277):     @ android.widget.framelayout.onlayout(framelayout.java:333) 02-21 08:56:54.128: error/androidruntime(277):     @ android.view.view.layout(view.java:7035) 02-21 08:56:54.128: error/androidruntime(277):     @ android.view.viewroot.performtraversals(viewroot.java:1045) 02-21 08:56:54.128: error/androidruntime(277):     @ android.view.viewroot.handlemessage(viewroot.java:1727) 02-21 08:56:54.128: error/androidruntime(277):     @ android.os.handler.dispatchmessage(handler.java:99) 02-21 08:56:54.128: error/androidruntime(277):     @ android.os.looper.loop(looper.java:123) 02-21 08:56:54.128: error/androidruntime(277):     @ android.app.activitythread.main(activitythread.java:4627) 02-21 08:56:54.128: error/androidruntime(277):     @ java.lang.reflect.method.invokenative(native method) 02-21 08:56:54.128: error/androidruntime(277):     @ java.lang.reflect.method.invoke(method.java:521) 02-21 08:56:54.128: error/androidruntime(277):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) 02-21 08:56:54.128: error/androidruntime(277):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) 02-21 08:56:54.128: error/androidruntime(277):     @ dalvik.system.nativestart.main(native method) 

2nd edit it's working listitems not visible if they're there:

public class categoriesadapter2 extends simpleexpandablelistadapter {      private list<? extends list<? extends map<string, user>>> mchilddata;     private string[] mchildfrom;     private int[] mchildto;      public categoriesadapter2(context context, list<? extends map<string, ?>> groupdata, int grouplayout,                               string[] groupfrom, int[] groupto, list<list<map<string, user>>> childdata,                               int childlayout, string[] childfrom, int[] childto) {         super(context, groupdata, grouplayout, groupfrom, groupto, childdata, childlayout, childfrom, childto);          mchilddata = childdata;         mchildfrom = childfrom;         mchildto = childto;      }     @override     public view getchildview(int groupposition, int childposition, boolean islastchild, view convertview, viewgroup parent) {          view v;         if (convertview == null) {             v = newchildview(islastchild, parent);         } else {             v = convertview;         }         bindview(v, mchilddata.get(groupposition).get(childposition), mchildfrom, mchildto, groupposition, childposition);         return v;     }      private void bindview(view view, map<string, user> data, string[] from, int[] to, int groupposition, int childposition) {         int len = to.length - 1;          (int = 0; < len; i++) {             textview v = (textview)              view.findviewbyid(to[i]);             if (v != null) {                 v.settext(data.get(from[i]).getname());             }         }     } } 

now it's working don't solution. made new class , extended baseexpandablelistadapter, same superclass simpleexpandablelistadapter extends. don't solution, if there's better solution please let me know.

thanks.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -