java - Getting exception error when setting custom font in fragments android -


here code, simple menu driven app, trying use custom font inside fragment , causing problem. have used font in activity, menu activity launches activity inside fragment inflated. not sure if causing problem me out please.

package com.cbs.coronathecarnival;      import android.app.fragment;     import android.graphics.typeface;     import android.os.bundle;     import android.view.view;     import android.view.layoutinflater;     import android.view.viewgroup;     import android.widget.textview;       /**      * created aditya on 2/4/14.      */     public class aboutfragment extends fragment{          view rootview;         public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate){             view rootview = inflater.inflate(r.layout.fragment_about, container, false);             initfonts();             return rootview;          }           public void initfonts(){              textview tv_title = (textview) rootview.findviewbyid(r.id.tv_about_title);             typeface changefont = typeface.createfromasset(getactivity().getassets(), "track.otf");             tv_title.settypeface(changefont);             textview tv_theme = (textview) rootview.findviewbyid(r.id.tv_about_theme);             tv_theme.settypeface(changefont);          }       } 

here logcat, says exception error, have no idea why not working, please me out, killing me , 4:21 in morning.

02-06 04:19:41.534    3591-3591/com.cbs.coronathecarnival e/androidruntime﹕ fatal exception: main     java.lang.runtimeexception: unable start activity componentinfo{com.cbs.coronathecarnival/com.cbs.coronathecarnival.homeactivity}: java.lang.nullpointerexception             @ android.app.activitythread.performlaunchactivity(activitythread.java:2180)             @ android.app.activitythread.handlelaunchactivity(activitythread.java:2230)             @ android.app.activitythread.access$600(activitythread.java:141)             @ android.app.activitythread$h.handlemessage(activitythread.java:1234)             @ android.os.handler.dispatchmessage(handler.java:99)             @ android.os.looper.loop(looper.java:137)             @ android.app.activitythread.main(activitythread.java:5041)             @ java.lang.reflect.method.invokenative(native method)             @ java.lang.reflect.method.invoke(method.java:511)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560)             @ dalvik.system.nativestart.main(native method)      caused by: java.lang.nullpointerexception             @ com.cbs.coronathecarnival.aboutfragment.initfonts(aboutfragment.java:27)             @ com.cbs.coronathecarnival.aboutfragment.oncreateview(aboutfragment.java:20)             @ android.app.fragment.performcreateview(fragment.java:1695)             @ android.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:885)             @ android.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1057)             @ android.app.backstackrecord.run(backstackrecord.java:682)             @ android.app.fragmentmanagerimpl.execpendingactions(fragmentmanager.java:1435)             @ android.app.activity.performstart(activity.java:5113)             @ android.app.activitythread.performlaunchactivity(activitythread.java:2153)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2230)             at android.app.activitythread.access$600(activitythread.java:141)             at android.app.activitythread$h.handlemessage(activitythread.java:1234)             at android.os.handler.dispatchmessage(handler.java:99)             at android.os.looper.loop(looper.java:137)             at android.app.activitythread.main(activitythread.java:5041)             at java.lang.reflect.method.invokenative(native method)             at java.lang.reflect.method.invoke(method.java:511)             at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:560)             at dalvik.system.nativestart.main(native method) 

in initfonts method, :

textview tv_title = (textview) rootview.findviewbyid(r.id.tv_about_title); 

here, rootview null because never correctly initialized. seem confusing 2 rootview variables :

view rootview; // 1 variable public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate){         view rootview = inflater.inflate(r.layout.fragment_about, container, false);         // not same rootview !         // here, rootview != this.rootview         initfonts();         return rootview;     }  public void initfonts(){     textview tv_title = (textview) rootview.findviewbyid(r.id.tv_about_title);     // using this.rootview.findviewbyid     // ... } 

the rootview inside oncreateview method not visible initfonts method, use view declared on top of oncreateview, first one, never initialized correctly. solve this, can move code of initfonts in oncreateview, pass view argument of initfonts method, or initialize variable in oncreateview :

this.rootview = rootview; 

Comments

Popular posts from this blog

python - Subclassed QStyledItemDelegate ignores Stylesheet -

java - HttpClient 3.1 Connection pooling vs HttpClient 4.3.2 -

SQL: Divide the sum of values in one table with the count of rows in another -