textfields for error android android-edittext

android - for - Alternativa del atributo singleLine(Obsoleto) TextInputEditText



text field (5)

Recientemente utilicé TextInputEditText y obtuve error de lint que el atributo singleLine está en desuso

<android.support.design.widget.TextInputEditText android:id="@+id/my_edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/string_hint_dob" android:lines="5"/> </android.support.design.widget.TextInputLayout>

Obteniendo el siguiente paso:

¿Hay alguna manera alternativa de que esta o cualquier otra razón lo haga obsoleto?


Definir siempre el tipo de entrada para una sola línea

ex: inputType="text"

No necesitas hacer nada más.


El atributo android:singleLine ha quedado en desuso desde API Level 3 . Puedes lograr el mismo comportamiento usando android:maxLines , que te permite especificar un número arbitrario de líneas. Esto es superior a android:singleLine , que te limita a permitir solo una línea.

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:minLines="2" android:maxLines="2" /> <!-- can specify arbitrary number of max lines -->


Siguiendo un comentario de Juan José Melero Gómez, me gustaría agregar más información:

Si está intentando establecer una imeAction para su EditText como actionSearch , establecer android:maxLines="1" no será suficiente. Agregar android:inputType="text" es obligatorio si desea ver el ícono de búsqueda.


android:singleLine está en desuso desde API 3, tienes que usar android:maxLines en su lugar (en tu caso android:maxLines="1" ).

La razón de la desaprobación es por su mal desempeño. De todos modos, el atributo singleLine no se eliminará porque sigue siendo la única manera de realizar algunos efectos que android:maxLines no puede realizar:

p.ej

Esto producirá un texto horizontal desplazable en una línea si el texto está seleccionado.

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:scrollHorizontally="true" />

En cambio, esto no funcionará:

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:ellipsize="end" android:scrollHorizontally="true" />


<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" android:maxLines="1" />

use android:inputType="text" y android:maxLines="1" togather