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?
— androidBoomer
Dê uma olhada no android: imeOptions
onde devo colocar esse código?
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
Você pode usar android:imeOptions para manipular esse botão extra no teclado.
Recursos adicionais que você pode ativar em um IME associado a um editor para melhorar a integração com seu aplicativo. As constantes aqui correspondem àquelas definidas por imeOptions.
As constantes de imeOptions incluem uma variedade de ações e sinalizadores; veja os valores acima no link acima.
a chave de ação executa uma operação "próxima", levando o usuário ao próximo campo que aceitará o texto.
a chave de ação executa uma operação "concluída", normalmente significando que não há mais nada a ser inserido e o IME será fechado.
Se você quiser ouvir eventos de imooptions, use a TextView.OnEditorActionListener.
No meu caso, android:nextFocusForward="@+id/.."fiz o truque.
— Mr.Moustard
Eu coloquei android:imeOptions="actionNext"em todos os meus EditTexts e o problema se foi. Muito obrigado.
Eu tive que usar joaquin e Mr.Moustard para cada EditText.
Para o meu aplicativo, basta usar o android: imeOptions = "actionNext" não funcionou. O EditText precisava do android: inputType = "[something]" antes de ouvir o sinalizador imeOptions.
Como ele sabe qual deles deve ser focado ao pressionar NEXT? Ele verifica o "certo" e depois o "inativo"? Existe uma função para focar a identificação da próxima exibição, se o usuário pressionar a tecla NEXT?
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
— Matthias H
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:
— Abror Esonaliyev
O uso de android:singleLine="true"é privado.
— Praveenkumar 18/09/19
Use a seguinte linha
parentedité o ID do próximo EditTexta ser focado.
A linha acima também precisará da seguinte linha.
Obrigado pela sugestão @Alexei Khlebnikov.
— Spring Breaker
Funcionou para mim. Juntamente com android:inputType="text"ou android:inputType="number".
— Alexei Khlebnikov
se nextFocusDown não funcionar, use nextFocusForward. Ajudou-me #
— 314 Kishan Solanki
android: nextFocusDown = "@ + id / parentedit" funcionou para mim! obrigado
Adicionando campo extra
trabalhou no meu caso!
Essas três linhas fazem a mágica
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.
— user3701500
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.
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.
— flawyte
Maneira simples, quando você tem apenas alguns campos, um por um:
android:inputType="" <- Defina seu tipo de texto, caso contrário, ele será multilinha e impedirá que você avance
— PsyhoLord
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.
— Kuldeep Rathee
— Nilkanth vithani
Você pode colocar uma explicação na sua resposta para explicar por que a sua é melhor do que as outras. Você pode pressionar o botão "editar" para adicionar à sua resposta.