J'ai utilisé certaines applications où lorsque je saisis mon nom d'utilisateur, puis passe à mon mot de passe, si je touche "Terminé" sur le clavier, le formulaire de connexion est automatiquement soumis, sans que je n'aie à cliquer sur le bouton de soumission. Comment est-ce fait ?
Réponses
Trop de publicités?
jQuick
Points
31
Il suffit d'étendre cette réponse
fun EditText.onSubmit(func: () -> Unit) {
setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
clearFocus() // si nécessaire
hideKeyboard()
func()
}
true
}
}
fun EditText.hideKeyboard() {
val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(this.windowToken, 0)
}
Senthil JS
Points
27
Rabia Aydoğdu
Points
21
etParola = (EditText) findViewById(R.id.etParola);
btnGiris = (Button) findViewById(R.id.btnGiris);
etParola.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
btnGiris.performClick();
return true;
}
return false;
}
});
et;
layout xml etParola
android:imeOptions="actionDone" add
Amit Gupta
Points
4617
Dans le fichier java
EditText userNameField = (EditText) findViewById(R.id.signinscr_userName);
EditText passwordField = (EditText) findViewById(R.id.signinscr_password);
passwordField.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {
//Effectuez votre opération ici.
return false;
}
});
Divyesh Kevadiya
Points
11
EditText edit_txt = (EditText) findViewById(R.id.search_edit);
edit_txt.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// vous avez défini une imeoption
if (actionId == EditorInfo.IME_ACTION_DONE) {
submit_btn.performClick();
return true;
}
return false;
}
});
- Réponses précédentes
- Plus de réponses