miércoles, febrero 01, 2017

editText.getText().toString(); #buildbetterapps

Saludos a todos.

En la mayoría de tutoriales , la misma documentación de Android te enseñan a obtener el String de un  EditText de la siguiente manera.

String phoneNumber = mTextInputEditTextPhoneNumber.getText().toString();

Perfecto, eso no tiene ningún error.  El punto está en que en ocasiones se vuelve muy fastidioso y si tenemos muchos EditText on TextInputEditText como en mi caso obtenerlos todos buuuuuff cansa. 

Recordando DataBinding en Apache Flex me dije: ok, si podemos agregar un TextChangeListener para que asignar la variable con getText().toString(), luego hice esto.

mTextInputEditTextPhoneNumber.addTextChangedListener(new TextWatcher() {
   @Override   public void beforeTextChanged(CharSequence s, int start, int count, int after) {
      
   }
   
   @Override   public void onTextChanged(CharSequence s, int start, int before, int count) {
      
   }
   
   @Override   public void afterTextChanged(Editable s) {
      phoneNumber = s.toString();
   }
});


El resultado es que mi variable phoneNumber siempre va a estar actualizada cada vez que el texto cambie en el TextInputEditTextPhoneNumber.

Dirás, es más código, pero no! Ese código lo agrega Android Studio automáticamente la única línea que tenemos que escribir es phoneNumber = s.toString(); dentro del afterTextChanged.

Espero lo consideren para sus proyectos.

Y sigan creando mejores apps! - #buildbetterapps  -