2016-11-28 1 views
0

Ich habe eine Reihe von benutzerdefinierten Bearbeitungssteuerelementen, die jeweils einer Variablen in meiner App einen Wert zuweisen, wenn sie den Fokus verlieren. Wenn jedoch ein Benutzer Next auf dem Nummernblock drückt, erhält mein Steuerelement keine Benachrichtigung über verlorene Fokus und eine zugeordnete Variable wird nicht festgelegt.Wie erhalte ich eine Benachrichtigung, wenn die Weiter-Taste auf dem Android-Ziffernblock gedrückt wird?

Alle Variablen sollten zur Laufzeit gesetzt werden, genau wenn ein Benutzer die Werte ändert. Ich kann also nicht warten, bis der numerische Block geschlossen ist, und dann alle aktualisieren.

Ich kann auch nicht meine Variablen in Steuerelement Text ändern Listener, es ist eine sehr kostspielige Operation, ich bevorzuge es zu tun, wenn ein Benutzer die Eingabe beendet.

So scheint meine einzige Option auf die Schaltfläche Next zu hören, aber ich kann nirgendwo eine Erwähnung finden.

Antwort

1

Versuchen Sie diesen Code:

yourEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
      @Override 
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
       if (actionId == EditorInfo.IME_ACTION_NEXT) 
        //do what you want 
       return false; 
      } 
     }); 
Verwandte Themen