android alertdialog with custom layout code example

Example 1: custom alert dialog in android kotlin

You can use below code for a custom Dialog. It's my working code.

 private fun showDialog(title: String) {
    val dialog = Dialog(activity)
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
    dialog.setCancelable(false)
    dialog.setContentView(R.layout.custom_layout)
    val body = dialog.findViewById(R.id.body) as TextView
    body.text = title
    val yesBtn = dialog.findViewById(R.id.yesBtn) as Button
    val noBtn = dialog.findViewById(R.id.noBtn) as TextView
    yesBtn.setOnClickListener {
        dialog.dismiss()
    }
    noBtn.setOnClickListener { dialog.dismiss() }
    dialog.show()

}

Example 2: alert dialog layout

View customLayout = LayoutInflater.from(MainActivity.this).inflate(R.layout.custom_dialog, null);

final TextInputLayout editMessage = customLayout.findViewById(R.id.edit_message);

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
        .setView(customLayout)
        .setPositiveButton("Submit", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                String message = Objects.requireNonNull(editMessage.getEditText()).getText().toString();

                // Dismiss Dialog
                dialogInterface.dismiss();

                Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show();
            }
        })
        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                dialogInterface.cancel();
            }
        });
builder.show();