6

この関数を使用して AlertDialog フォントを変更しようとしました

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());

}

アクティビティで関数を呼び出すと、書体を設定するときに持っていましたが、ダイアログを削除する02-25 17:59:04.759: E/AndroidRuntime(1014): java.lang.NullPointerExceptionとうまくいきます。tittit

TextView tit = (TextView) alert.findViewById(android.R.id.title);エラーは return nullだと思います。

どうすればこれを解決できますか??


更新 このリンクには私の質問の回答が含まれています回答

サムに感謝

4

2 に答える 2

1

テキストビューを希望どおりに変更するには、ダイアログにカスタムレイアウトを使用することをお勧めします。見て

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

于 2013-02-25T16:02:58.383 に答える