Supponendo che un utente abbia scritto del testo in un EditText e successivamente toccato da qualche altra parte sullo schermo, che ha causato la modifica della posizione del cursore: Come si può determinare la nuova posizione del cursore?Posizione del cursore di EditText
10
A
risposta
24
La versione semplice:
myEditText.getSelectionStart();
Se si vuole reagire a un evento che si può provare
myEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
// view is myEditText here
}
});
event
permette di distinguere tra preme e rilascia.
EditText
ha anche uno setOnClickListener()
che potrebbe valere la pena di guardare.
MODIFICA: Ho dimenticato di menzionare onSelectionChanged(int selStart, int selEnd)
dove selEnd è uguale a inizio se la posizione è cambiata.
2
modo migliore e più sicuro sta usando TextWatcher
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
int cursorIndex = start + 1;
}
Problemi correlati
- 1. Posizione del cursore nell'abbreviazione VIM
- 2. TinyMCE perde posizione del cursore
- 3. rimuovere cursore da EditText
- 4. TextField() Imposta posizione del cursore
- 5. Numero di riga dell'asse e posizione del cursore corrente.
- 6. posizione del cursore del mouse in Javascript?
- 7. Sposta il cursore alla fine di EditText?
- 8. Cursore di Edittext per Android invisibile
- 9. IntelliJ File Template posizione del cursore
- 10. Posizione pixel del cursore in UITextView
- 11. Posso ripristinare la posizione del cursore all'inizio?
- 12. Preservare la posizione del cursore con angularjs
- 13. posizione del cursore in un UITextView
- 14. Imposta posizione del cursore in Mac OS
- 15. posizione del cursore rispetto al Application
- 16. Windows Form RichTextBox posizione del cursore
- 17. Evento modificato posizione cursore
- 18. impedisce la posizione del cursore di "freccia su" durante la reimpostazione della posizione del cursore all'interno della casella di testo
- 19. Come modificare il colore del puntatore EditText (non il cursore)
- 20. Come disabilitare il posizionamento del cursore e la selezione del testo in un EditText? (Android)
- 21. Come trovare la posizione globale del cursore del testo?
- 22. EditText cursore diventa invisibile in Jellybean
- 23. Come posso visualizzare NSMenu nella posizione del cursore del mouse?
- 24. Trovare la posizione del testo del cursore in JTextField
- 25. Imposta la posizione del cursore in un widget di testo
- 26. Inserisci stringa nella posizione del cursore di UITextField
- 27. Ottenere la posizione del cursore di UITextField in ios
- 28. Cursore di posizione all'inizio/fine del documento Word
- 29. Inserimento di testo dopo la posizione del cursore nel testo
- 30. Impedire all'utente di impostare la posizione del cursore su UITextField
per chiarire: OnSelectionChanged() deve essere sottoposto a override in sottoclassi EditText per essere utile. Gli eventi OnTouch si verificano solo quando l'utente tocca letteralmente lo schermo. Gli eventi OnClick possono essere attivati quando l'utente tocca lo schermo o tramite determinati input fisici, ad es. Centro D-pad, click trackball, ecc. – greg7gkb