Jak dodać TextView i EditText przy użyciu domyślnego programu AlertDialog

Próbowałem dodać dwa elementy do domyślnego narzędzia AlertDialog, ale nie wydaje mi się, aby działało. Oto mój kod:

// START Dialog
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

    TextView tv = new TextView(this);
    tv.setText(title);
    tv.setPadding(40, 40, 40, 40);
    tv.setGravity(Gravity.CENTER);
    tv.setTextSize(20);

    EditText et = new EditText(this);
    etStr = et.getText().toString();

    alertDialogBuilder.setView(et);
    alertDialogBuilder.setTitle(title);
    alertDialogBuilder.setMessage("Input Student ID");
    alertDialogBuilder.setCustomTitle(tv);

    if (isError)
        alertDialogBuilder.setIcon(R.drawable.icon_warning);
    // alertDialogBuilder.setMessage(message);
    alertDialogBuilder.setCancelable(false);

    // Setting Negative "Cancel" Button
    alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            dialog.cancel();
        }
    });

    // Setting Positive "Yes" Button
    alertDialogBuilder.setPositiveButton("OK",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    if (isError)
                        finish();
                    else {
                        Intent intent = new Intent(
                                ChangeDeviceActivity.this,
                                MyPageActivity.class);
                        startActivity(intent);
                    }
                }
            });

    AlertDialog alertDialog = alertDialogBuilder.create();

    try {
        alertDialog.show();
    } catch (Exception e) {
        // WindowManager$BadTokenException will be caught and the app would
        // not display the 'Force Close' message
        e.printStackTrace();
    }

Na razie to tylkoEditText z wiadomością ustawioną przezalertDialogBuilder.setMessage("Input Student ID"); ale chcę to zrobićTextView więc mogę to uzasadnić. Jak mam to zrobic?

questionAnswers(3)

yourAnswerToTheQuestion