android - NullPointerException exception when trying to set title size on AlertDialog -


in alertdialog, able set size of message when perform same title crashes.

code:

alertdialog dialog = new alertdialog.builder(this).setmessage(message).settitle(title)                .setpositivebutton(android.r.string.ok, new dialoginterface.onclicklistener() {                    public void onclick(dialoginterface dialog, int id) {                       dialog.cancel();                    }                }).show();      textview titletxt= (textview)dialog.findviewbyid(android.r.id.title);      **titletxt.settextsize(typedvalue.complex_unit_sp, 40);** // crash here       textview textview = (textview) dialog.findviewbyid(android.r.id.message);      **textview.settextsize(40);** // works fine     button btn1 = dialog.getbutton(dialoginterface.button_positive);    btn1.settextsize(36);  

my output:

05-10 11:49:56.917: e/androidruntime(8376): fatal exception: main 05-10 11:49:56.917: e/androidruntime(8376): java.lang.nullpointerexception 05-10 11:49:56.917: e/androidruntime(8376):     @ com.binary.taxitop.loginscreen.showalertdialog(loginscreen.java:116) 05-10 11:49:56.917: e/androidruntime(8376):     @ com.binary.taxitop.loginscreen.verifycredentialsandenternextscreen(loginscreen.java:103) 05-10 11:49:56.917: e/androidruntime(8376):     @ com.binary.taxitop.loginscreen.onclick(loginscreen.java:84) 05-10 11:49:56.917: e/androidruntime(8376):     @ android.view.view.performclick(view.java:3511) 05-10 11:49:56.917: e/androidruntime(8376):     @ android.view.view$performclick.run(view.java:14109) 05-10 11:49:56.917: e/androidruntime(8376):     @ android.os.handler.handlecallback(handler.java:605) 05-10 11:49:56.917: e/androidruntime(8376):     @ android.os.handler.dispatchmessage(handler.java:92) 05-10 11:49:56.917: e/androidruntime(8376):     @ android.os.looper.loop(looper.java:137) 05-10 11:49:56.917: e/androidruntime(8376):     @ android.app.activitythread.main(activitythread.java:4424) 05-10 11:49:56.917: e/androidruntime(8376):     @ java.lang.reflect.method.invokenative(native method) 05-10 11:49:56.917: e/androidruntime(8376):     @ java.lang.reflect.method.invoke(method.java:511) 05-10 11:49:56.917: e/androidruntime(8376):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:784) 05-10 11:49:56.917: e/androidruntime(8376):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:551) 05-10 11:49:56.917: e/androidruntime(8376):     @ dalvik.system.nativestart.main(native method) 

thanks in advance.

as know there no direct method modify title in alertdialog

you can create custom dialog or use reflect

the reflect code belowed net, hope useful

alertdialog dialog = (alertdialog) getdialog();   try {        field malert = alertdialog.class.getdeclaredfield("malert");        malert.setaccessible(true);        object alertcontroller = malert.get(dialog);         field mtitleview = alertcontroller.getclass().getdeclaredfield("mtitleview");        mtitleview.setaccessible(true);         textview title = (textview) mtitleview.get(alertcontroller);        title.settextcolor(0xff33b5e5);     } catch (nosuchfieldexception e) {       e.printstacktrace();   } catch (illegalargumentexception e) {        e.printstacktrace();   } catch (illegalaccessexception e) {       e.printstacktrace();   }   

Comments

Popular posts from this blog

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