type textcapwords studio number nextfocusforward inputtype edittext android android-layout focus ime

textcapwords - nextfocusforward android



Establecer EditText imeOptions en actionNext no tiene ningĂșn efecto (9)

Tengo un archivo de diseño xml bastante complejo (no realmente). Una de las vistas es LinearLayout ( v1 ) con dos hijos: un EditText ( v2 ) y otro LinearLayout ( v3 ). El niño LinearLayout a su vez tiene un EditText ( v4 ) y un ImageView ( v5 ).

Para EditText v2 tengo imeOptions como

android:imeOptions="actionNext"

Pero cuando ejecuto la aplicación, la return del teclado no pasa a la next y quiero que cambie a la next . ¿Cómo soluciono este problema?

Además, cuando el usuario haga clic en siguiente, quiero que el foco vaya a EditText v4. Yo hago esto?

Para aquellos que realmente necesitan ver algún código:

<LinearLayout android:id="@+id/do_txt_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/col6" android:orientation="vertical" android:visibility="gone" > <EditText android:id="@+id/gm_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:background="@drawable/coldo_text" android:hint="@string/enter_title" android:maxLines="1" android:imeOptions="actionNext" android:padding="5dp" android:textColor="pigc7" android:textSize="ads2" /> <LinearLayout android:layout_width="match_parent" android:layout_height="100dp" android:orientation="horizontal" > <EditText android:id="@+id/rev_text" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="center_vertical" android:layout_margin="5dp" android:layout_weight="1" android:background="@drawable/coldo_text" android:hint="@string/enter_msg" android:maxLines="2" android:padding="5dp" android:textColor="pigc7" android:textSize="ads2" /> <ImageView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center_vertical" android:background="@drawable/colbtn_r” android:clickable="true" android:onClick=“clickAct” android:paddingLeft="5dp" android:paddingRight="5dp" android:src="@drawable/abcat” /> </LinearLayout> </LinearLayout>


Finalmente, tengo una solución segura para este problema. Simplemente agregue estas 3 líneas en su texto de edición y estará funcionando bien

android:maxLines="1" android:inputType="text" android:imeOptions="actionDone"

Aquí puede agregar maxLines de acuerdo a sus requerimientos. No use SingleLine ya que está en desuso ahora. ¡Buena suerte!


La clave aquí es establecer el tipo de entrada y los atributos imeOptions

<EditText android:inputType="number" android:maxLines="1" android:imeOptions="actionSearch" />


Las respuestas dadas aquí fueron todas muy útiles, pero todavía estaba luchando por mostrar el "Siguiente" de mi teclado.

Resulta que cuando usas Android android:digits attribute en tu XML, evita que android:imeOptions="actionNext" funcione como se espera.

La respuesta es usar el android:singleLine="True" obsoleto android:singleLine="True" . Esto parece forzar a la opción IME a ser respetada.

Código antiguo que no funciona

<android.support.design.widget.TextInputEditText android:id="@+id/first_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- " android:ellipsize="end" android:hint="@string/first_name" android:imeOptions="actionNext" android:inputType="textCapWords" android:maxLength="35" android:maxLines="1" />

Código de trabajo

<android.support.design.widget.TextInputEditText android:id="@+id/first_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- " android:ellipsize="end" android:hint="@string/first_name" android:imeOptions="actionNext" android:inputType="textCapWords" android:maxLength="35" android:maxLines="1" android:singleLine="true" />

No soy partidario de usar un atributo obsoleto, pero por ahora parece obtener el resultado deseado.


Simplemente agregue android:maxLines="1" & android:inputType="text" a su EditText. ¡¡Funcionará!! :)


una sola línea obsoleta, por lo que debe agregar el código siguiente, creo que inputType debe.

<EditText android:inputType="text" android:maxLines="1" android:imeOptions="actionNext" />


android:singleLine ha quedado obsoleto, es mejor combinar android:maxLines="1" con android:inputType="text" . Este sería el código:

<EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" />


singleLine está en desuso. Agregar un tipo de entrada (por ejemplo: android:inputType="text" ) también funcionó para mí.

Use android:maxLines="1" ya que singleLine está en desuso


<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/auth_register_re_password" android:hint="Enter Password Again" android:imeActionLabel="login" android:gravity="center" android:imeOptions="actionUnspecified" android:inputType="textPassword" android:maxLines="1" />


android:inputType="text"

Debes especificar un inputType para que funcione imeOptions.