Zakładając, że użytkownik zapisał jakiś tekst w obiekcie EditText, a następnie został dotknięty w innym miejscu na ekranie, co spowodowało zmianę położenia kursora: Jak określić nową pozycję kursora?Pozycja kursora EditText
10
A
Odpowiedz
24
Prosta wersja:
myEditText.getSelectionStart();
Jeśli chcesz reagować na zdarzenia można spróbować
myEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
// view is myEditText here
}
});
event
pozwala odróżnić prasy i wydawnictw.
EditText
ma również setOnClickListener()
, który może być wart obejrzenia.
EDYTOWANIE: Zapomniałem wspomnieć o onSelectionChanged(int selStart, int selEnd)
, gdzie selEnd jest równy selStart, jeśli zmieniła się pozycja.
2
Najlepszy i bezpieczny sposób korzysta TextWatcher
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
int cursorIndex = start + 1;
}
Powiązane problemy
- 1. Pozycja kursora pliku szablonu IntelliJ
- 2. Pozycja pikseli kursora w UITextView
- 3. Pozycja kursora w html mailto link
- 4. pozycja kursora w stosunku do aplikacji
- 5. Zmiana miejsca rozpoczęcia kursora w rozwiniętym EditText
- 6. Zmiana koloru kursora EditText systemu Android programowo
- 7. Zmiana koloru kursora EditText w Androidzie 3.0
- 8. Numer wiersza editekstu i pozycja kursora w bieżącej linii.
- 9. Jquery - Jeśli pozycja kursora na początku/końcu w polu tekstowym
- 10. Visual Studio 2015 - dowolna pozycja kursora na pustym wierszu
- 11. Pozycja kursora CKEditor po wstawieniu elementu, którego nie można edytować
- 12. Mecz pozycja kursora na podciągu po tekście zastąpić
- 13. IME systemu Android, ustaw pozycję kursora w EditText
- 14. Android 4.0 EditText bez miękkiej klawiatury i pozycjonowania kursora
- 15. Jak wyłączyć pozycjonowanie kursora i zaznaczanie tekstu w EditText? (Android)
- 16. Niestandardowy kolor kursora w SearchView
- 17. Zmieniono pozycję kursora
- 18. Kolejność zakładki EditText
- 19. Włącz/wyłącz menu ActionBar Pozycja
- 20. Kolumna Google pozycja legenda pozycja wykresu
- 21. EditText - Pobierz tekst z EditText podczas pisania
- 22. Pozycja myszy wewnątrz autoskalowania SVG
- 23. Zmiana koloru kursora editext w interfejsie API 12
- 24. KoordynatorLayout zmywa setError popup pozycja
- 25. Utrzymuj pozycję kursora w contenteditable div
- 26. Kanwa Androida drawText Pozycja y tekstu
- 27. Czy używam kursora i wskaźnika kursora, czy obu?
- 28. Pozycja myszy jQuery na mousedown() bez przesuwania myszy()
- 29. Przesuwanie kursora myszy programowo
- 30. uzyskać pozycję kursora terminalowego
do wyjaśnienia: OnSelectionChanged() musi być zmienione podklasy EditText być użyteczne. Zdarzenia OnTouch zdarzają się tylko wtedy, gdy użytkownik dosłownie dotknie ekranu. Zdarzenia OnClick mogą być uruchamiane, gdy użytkownik dotknie ekranu lub poprzez określone fizyczne wejścia, np. Centrum D-pad, kliknięcie trackballa itp. – greg7gkb