Eu tenho um arquivo de layout xml bastante complexo (não realmente). Uma das visualizações é um LinearLayout ( v1
) com dois filhos: um EditText ( v2
) e outro LinearLayout ( v3
). O LinearLayout filho, por sua vez, tem um EditText ( v4
) e um ImageView ( v5
).
Para EditText v2, tenho imeOptions como
android:imeOptions="actionNext"
Mas quando executo o aplicativo, o teclado return
não marca para next
e eu quero que mude para next
. Como faço para corrigir esse problema?
Além disso, quando o usuário clicar em seguida, quero que o foco vá para EditText v4. Eu faço isso?
Para quem realmente precisa ver algum 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>
android
android-layout
focus
ime
Catedral de Pillon
fonte
fonte
android:nextFocusDown="@id/edit_text_v4"
(também talvez tenteandroid:nextFocusForward
ou alguns dos outros atributos nextFocus).Respostas:
Basta adicionar
android:maxLines="1" & android:inputType="text"
ao seu EditText. Vai funcionar!! :)fonte
wrap_content
. Definir uminputType
resolveu o problema no meu caso.android:maxLines="1"
vez deandroid:singleLine="true"
como obsoletomaxLine="1"
não funciona.singleLine
está obsoleto. Adicionar um tipo de entrada (por exemploandroid:inputType="text"
:) também funcionou para mim.Usar
android:maxLines="1"
comosingleLine
está obsoletofonte
android:singleLine
foi descontinuado, é melhor combinarandroid:maxLines="1"
comandroid:inputType="text"
. Este seria o código:fonte
As respostas dadas aqui foram muito úteis, mas eu ainda estava lutando para mostrar o "Próximo" do meu teclado.
Acontece que, ao usar o
android:digits
atributo do Android em seu XML, ele impede que oandroid:imeOptions="actionNext"
funcione conforme o esperado.A resposta é realmente usar o obsoleto
android:singleLine="True"
. Isso parece forçar a opção IME a ser respeitada.Código Antigo e Não Funcionário
Código de Trabalho
Não sou fã de usar um atributo obsoleto, mas por agora parece que ele obteve o resultado desejado.
fonte
única linha obsoleta, então você adiciona o código abaixo, acho que o inputType deve.
fonte
Finalmente eu tenho a solução certa para este problema. Basta adicionar essas 3 linhas em seu texto de edição e vai funcionar bem
Aqui você pode adicionar maxLines de acordo com sua necessidade. Não use singleLine, pois ele está obsoleto agora. Boa sorte!
fonte
Você deve especificar um inputType para que as imeOptions funcionem.
fonte
A chave aqui é definir o tipo de entrada e atributos imeOptions
fonte
Só isso funcionou para mim.
Mude:
naquilo:
fonte
fonte
actionUnspecified
faz exatamente.o código abaixo é a força
fonte
Essas três linhas são suficientes.
fonte