Get the name AlertDialog with findViewById

I tried changing the font of AlertDialog using this function

private void saveDialog(){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(res.getString(R.string.dialog_title)) .setMessage(res.getString(R.string.dialog_saveconfirm)) .setCancelable(false) .setNegativeButton(res.getString(R.string.dialog_cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }) .setPositiveButton(res.getString(R.string.dialog_ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //do some thing }); AlertDialog alert = builder.create(); alert.show(); TextView tit = (TextView) alert.findViewById(android.R.id.title); TextView msg = (TextView) alert.findViewById(android.R.id.message); Button btn2 = alert.getButton(DialogInterface.BUTTON_NEGATIVE); Button btn1 = alert.getButton(DialogInterface.BUTTON_POSITIVE); tit.setTypeface(UtiliShare.getTf()); msg.setTypeface(UtiliShare.getTf()); btn1.setTypeface(UtiliShare.getTf()); btn2.setTypeface(UtiliShare.getTf()); } 

When I call the function in Activity, I had 02-25 17:59:04.759: E/AndroidRuntime(1014): java.lang.NullPointerException for tit when setting the font, but working when removing the tit dialog works fine.

I think the error in TextView tit = (TextView) alert.findViewById(android.R.id.title); equal to zero.

How can I solve this problem?


Update This link contains the answer to my question Answer

Thanks Sam

+6
source share
1 answer

To change the text view the way you want, I would recommend using a custom layout for dialogs. Take a look

http://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout

+1
source

All Articles