Quando pressiono o botão 'Next', o foco no User EditText deve passar para a senha. Em seguida, na Senha, ele deve se mover para a direita e assim por diante. Você pode me ajudar em como codificá-lo?
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="User Name*" />
<EditText
android:id="@+id/txt_User"
android:layout_width="290dp"
android:layout_height="33dp"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password*" />
<EditText
android:id="@+id/txt_Password"
android:layout_width="290dp"
android:layout_height="33dp"
android:singleLine="true"
android:password="true" />
<TextView
android:id="@+id/confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password*" />
<EditText
android:id="@+id/txt_Confirm"
android:layout_width="290dp"
android:layout_height="33dp"
android:singleLine="true"
android:password="true" />
</LinearLayout>
android
android-edittext
androidBoomer
fonte
fonte
Respostas:
Manuseio de foco
O movimento do foco é baseado em um algoritmo que encontra o vizinho mais próximo em uma determinada direção. Em casos raros, o algoritmo padrão pode não corresponder ao comportamento pretendido do desenvolvedor.
Altere o comportamento padrão da navegação direcional usando os seguintes atributos XML:
Além da navegação direcional, você pode usar a navegação por guias. Para isso, você precisa usar
Para obter uma visualização específica para focar, ligue para
Para ouvir certos eventos de mudança de foco, use um
View.OnFocusChangeListener
Botão do teclado
Você pode usar
android:imeOptions
para manipular esse botão extra no teclado.As constantes de imeOptions incluem uma variedade de ações e sinalizadores; veja os valores acima no link acima.
Exemplo de valor
ActionNext :
ActionDone :
Exemplo de código:
Se você quiser ouvir eventos de imooptions, use a
TextView.OnEditorActionListener
.fonte
android:nextFocusForward="@+id/.."
fiz o truque.android:imeOptions="actionNext"
em todos os meus EditTexts e o problema se foi. Muito obrigado.deve trazer o mesmo efeito. Depois de pressionar próximo para trazer o foco para o próximo elemento.
use isso além disso, se você não quiser que a próxima visualização obtenha o foco
fonte
adicione seu editText
adicionar propriedade à atividade no manifesto
no arquivo de layout ScrollView definido como raiz ou layout pai, todas as interfaces de usuário
se você não quiser toda vez que adicionar, crie estilo: adicione estilo em values / style.xml
padrão / estilo:
fonte
android:singleLine="true"
é privado.Use a seguinte linha
parentedit
é o ID do próximoEditText
a ser focado.A linha acima também precisará da seguinte linha.
ou
Obrigado pela sugestão @Alexei Khlebnikov.
fonte
android:inputType="text"
ouandroid:inputType="number"
.Adicionando campo extra
trabalhou no meu caso!
fonte
Essas três linhas fazem a mágica
fonte
No manipulador onEditorAction, lembre-se de que você deve retornar um booleano que indica se está manipulando a ação (true) ou se aplicou alguma lógica e deseja o comportamento normal (false), como no exemplo a seguir:
Encontrei isso quando retornei verdadeiro depois de executar minha lógica, pois o foco não se moveu.
fonte
basta usar o código a seguir, ele funcionará bem e usar inputType para cada edittext e o próximo botão aparecerá no teclado.
fonte
Em alguns casos, pode ser necessário mover o foco para o próximo campo manualmente:
Pode ser necessário se, por exemplo, você tiver um campo de texto que abre um seletor de datas ao clicar e desejar que o foco passe automaticamente para o próximo campo de entrada assim que uma data for selecionada pelo usuário e o seletor fechar. Não há como lidar com isso em XML, isso deve ser feito programaticamente.
fonte
Maneira simples, quando você tem apenas alguns campos, um por um:
Precisa definir
android:maxLines="1"
android:imeOptions="actionNext"
android:inputType=""
<- Defina seu tipo de texto, caso contrário, ele será multilinha e impedirá que você avanceAmostra:
fonte
Tente usar a tag android: imeOptions = "actionNext" para cada editText na tela Visualizar, ela será automaticamente focada no próximo edittext quando você clicar em Avançar no softKeyboard.
fonte
fonte
Se você quiser usar uma multilinha
EditText
comimeOptions
, tente:fonte
Adicione inputType ao edittext e, ao entrar, ele passará ao próximo edittext
e muitos mais.
fonte
No Kotlin, usei o Bellow como ..
xml:
no kotlin:
fonte
fonte
Se você tiver o elemento na exibição de rolagem, também poderá resolver esse problema como:
e na sua atividade:
fonte
Maneira simples :
Adicione isso ao campo edittext no arquivo .xml
fonte