android listfragment - java.lang.IllegalStateException: Content view not yet created -


the "mmatchadapter" initialize @ oncreate, null in "setcursor", why? listfragment tab of tabhost, use display list. want change adapter in setcursor display other list, occur error @ line mmatchadapter.changecursor(c); because mmatchadapter null, why? when getlistview above line,

public class recentslistfragment extends listfragment implements onsetrecentscontactscursor {     public final static string tag = "recentslistfragment"; @override public void onviewcreated(view view, bundle savedinstancestate) {     // todo auto-generated method stub     log.d(tag, "---------> onviewcreated ");     mlistview = getlistview();     log.d(tag, "onviewcreated------mlistview = " + mlistview);     mviewcreated = true;     setlistshown(false);     super.onviewcreated(view, savedinstancestate); }  @override public void ondestroyview() {     // todo auto-generated method stub     log.d(tag, "---------> ondestroyview ");     mviewcreated = false;     super.ondestroyview(); }   @override public void onlistitemclick(listview l, view v, int pos, long id) {     // todo auto-generated method stub     cursor cursor;     listadapter adapter = getlistadapter();     if (adapter == mlogsadapter){         cursor = (cursor)mlogsadapter.getitem(pos);     }else if (adapter == mmatchadapter){         cursor = (cursor)mmatchadapter.getitem(pos);     }     super.onlistitemclick(l, v, pos, id); }   @override public void onattach(activity activity) {     // todo auto-generated method stub     log.d(tag, "------>onattach");     mactivity = activity;     super.onattach(activity); }   @override public void oncreate(bundle savedinstancestate) {     // todo auto-generated method stub     log.d(tag, "---------> oncreate ");      mnumberquery = numberlocalquery.getinstance(mactivity.getapplicationcontext());     mqueryhandler = new cursorqueryhandler(mactivity.getcontentresolver());     mphotoloader = new contactphotoloader(mactivity);     mlogsadapter = new bbkrecentcallsadapter(mactivity, mphotoloader, mnumberquery);      mmatchadapter = new bbkdialermatchlistadapter(mactivity, mphotoloader, mnumberquery);     super.oncreate(savedinstancestate); }  @override public void onstart() {     // todo auto-generated method stub     mcallschanged = true;     log.d(tag, "---------> onstart ");     setlistadapter(mlogsadapter);     mlogsadapter.clearcache();     startquery();     super.onstart(); }   @override public void onstop() {     // todo auto-generated method stub     mcallschanged = false;     log.d(tag, "---------> onstop ");      if (null != mqueryhandler){         mqueryhandler.canceloperation(curosr_query_token_calls);     }     super.onstop(); }   @override public void onresume() {     // todo auto-generated method stub     log.d(tag, "---------> onresume ");     boolean is24hour = dateformat.is24hourformat(mactivity);     if (null != mlogsadapter){         mlogsadapter.set24hour(is24hour);     }     if (null != mmatchadapter){         mmatchadapter.set24hour(is24hour);     }     mismatching = false;     super.onresume(); }   private void startquery() {     log.d(tag, "---------> startquery ");     if(mcallschanged) {         log.d(tag, "start query call_log database");         mcallschanged = false;         mqueryhandler.canceloperation(curosr_query_token_calls);          mqueryhandler.startquery(curosr_query_token_calls, null,                 calls.content_uri, recentcallslistactivity.call_log_projection, null,                 null, calls.default_sort_order);     }else if(mlogsadapter != null && (mlogsadapter.getcursor() != null)) {         mlogsadapter.notifydatasetchanged();     } }  @override public void onactivitycreated(bundle savedinstancestate) {     // todo auto-generated method stub     log.d(tag, "---------> onactivitycreated ");     super.onactivitycreated(savedinstancestate); }  @override public void ondestroy() {     // todo auto-generated method stub     log.d(tag, "---------> ondestroy ");     if (null != mlogsadapter){         mlogsadapter.clearcache();         mlogsadapter.changecursor(null);     }     if (null != mmatchadapter){         mmatchadapter.changecursor(null);     }     super.ondestroy(); }  @override public void ondetach() {     // todo auto-generated method stub     log.d(tag, "---------> ondetach ");     super.ondetach(); }  @override public void setcursor(cursor c) {     // todo auto-generated method stub     log.d(tag, "====setcursor======mviewcreated====" + mviewcreated);     log.d(tag, "--------->mlistview = " + mlistview);     if (null != c && c.getcount() > 0){         setlistadapter(mmatchadapter);     }     mmatchadapter.changecursor(c); } } 


Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -