Android desactivar el botón positivo en algunos condion en addTextChangedListener (editext)

Aquí está mi código para un diálogo, quiero deshabilitar el botón positivo si el tamaño del texto en el texto de edición en más de 5 y habilitarlo si el tamaño <= 5

private void myDialog(String title) { AlertDialog.Builder builder = new AlertDialog.Builder(context); // Get the layout inflater LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View dialogView = inflater.inflate(R.layout.new_dialog, null); // Inflate and set the layout for the dialog // Pass null as the parent view because its going in the dialog layout builder.setView(dialogView); final EditText dialogEdittext = (EditText) dialogView.findViewById(R.id.dialog_editText); final TextView dialogMessage = (TextView) dialogView.findViewById(R.id.dialog_limit); dialogEdittext.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { // if text length is greater than 5 disable positive button // else enable } }); builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { }); builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { } }); final Dialog dialog = builder.create(); dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); dialog.show(); } 

Intente algo como esto:

 @Override public void afterTextChanged(Editable s) { if (s.length() > 5) { dialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(false); } else { dialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(true); } } 

Donde el dialog es:

 final AlertDialog dialog = builder.create(); 
  • ¿Cómo evitar que ProgressDialog descarte el cambio de rotación de la pantalla en Android?
  • ¿Cómo establecer la posición del diálogo?
  • El cuadro de diálogo no aparece
  • Cómo cerrar / cancelar / descartar un Diálogo del sistema de forma programática (Android)
  • Android - Cómo descartar todos los cuadros de diálogo en onPause
  • ¿Descartar un diálogo personalizado?
  • Android: Cuadro de diálogo emergente
  • GetOwnerActivity devuelve nulo en el diálogo personalizado
  • Fuerza de diálogo personalizada de Android cierre
  • Problema con el cuadro de diálogo de alerta personalizada
  • ¿Cómo puedo crear un diálogo personalizado con dos datepicker?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.