2011-08-01 74 views
47

Tôi đang sử dụng Chế độ xem EditText tùy chỉnh. Tôi đã ghi đè sự kiện OnKeyUp và có thể chụp được phím Enter. Bây giờ yêu cầu của tôi là, khi người dùng đã nhập văn bản "Xin chào. Bạn khoẻ không?" và sau đó giữ con trỏ sau từ "là" và nhấn enter, tôi cần lấy vị trí con trỏ để tôi có thể trích xuất văn bản sau con trỏ tại thời điểm nhấn phím Enter. Xin vui lòng cho tôi biết làm thế nào để làm điều này. Cảm ơn bạn đã dành thời gian và sự giúp đỡ của bạn.Nhận vị trí con trỏ trong Android trong văn bản chỉnh sửa?

Trả lời

112

Bạn có thể lấy vị trí con trỏ bằng cách sử dụng phương thức getSelectionStart() và getSelectionEnd(). Nếu không có văn bản nào được đánh dấu, cả getSelectionStart() và getSelectionEnd() sẽ trả về vị trí của con trỏ. Vì vậy, một cái gì đó như thế này nên làm như lừa:

myEditText.getSelectionStart(); 

hoặc

myEditText.getSelectionEnd(); 

Sau đó, nếu bạn muốn chọn tất cả các văn bản sau khi con trỏ bạn có thể sử dụng này:

int cursorPosition = myEditText.getSelectionStart(); 
CharSequence enteredText = myEditText.getText().toString(); 
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length()); 
Các vấn đề liên quan