Trong ứng dụng của tôi khi người dùng nhấp hoặc chạm vào chế độ Chỉnh sửa văn bản, trọng tâm đôi khi được đặt ở đầu. Ví dụ: nếu văn bản hiện tại là "Xin chào". Người dùng muốn nhấp vào nó và thay đổi nó thành "H1 Bạn thế nào?" bằng cách thêm văn bản "Bạn khoẻ không?". Nhưng kể từ khi trọng tâm là trong đầu, nó sẽ trở thành "Làm thế nào là bạn? Hi". Vì vậy, tôi luôn muốn đặt tiêu điểm ở bên phải phần lớn văn bản khi được chọn. Làm thế nào để tôi làm điều này. Xin vui lòng cho tôi biết với một số mẫu nếu có thể. Cảm ơn bạn đã dành thời gian và sự giúp đỡ của bạn.Làm cách nào để đặt tiêu điểm ở bên phải văn bản trong EditText cho android?
Trả lời
Bạn rõ ràng có thể đặt dấu nháy vào vị trí cuối cùng trong văn bản:
EditText editText = (EditText) findViewById(R.id.textId);
int pos = editText.getText().length();
editText.setSelection(pos);
Something especific thêm về mà bạn yêu cầu, bạn có thể sử dụng mã tiếp theo:
EditText editText = (EditText) findViewById(R.id.textId);
editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
editText.setSelection(editText.getText().length());
}
}
});
phương pháp setOnFocusChangeLister() là được sử dụng để phát hiện khi editText nhận được tiêu điểm.
Giải pháp trên không hoạt động.
Ở đây tôi cung cấp cho bạn giải pháp mới cho tập trung tiêu điểm ở bên phải văn bản trong edittext cho android. Và nó hoạt động tốt.
Mã của tôi là:
EditText edt_ans = (EditText)findViewById(R.id.edt_answer);
edt_ans.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
// TODO Auto-generated method stub
edt_ans.setSelection(edt_ans.getText().length());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after)
{
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s)
{
// TODO Auto-generated method stub
}
});
Chúc mừng Mã hóa .... :)
câu trả lời của bạn đặt vị trí dấu mũ trênTextChanged không onClick, đó là những gì câu hỏi ban đầu đã được yêu cầu. Hãy cố gắng không hồi sinh những câu hỏi rất cũ ... –
Một cách nổi bật hơn sẽ là nơi bạn không cần phải chăm sóc thiết lập lựa chọn bằng tay tất cả các thời gian. Vì vậy, sử dụng CustomEditText thay vì EditText trong bố cục của bạn.
public class CustomEditText extends EditText {
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
/**
* This is a Fix of buggy behavior of android, where after setting text using setText(...), selection remain on
* first character and not at last character.
*/
@Override
public void setText(CharSequence text, BufferType type) {
super.setText(text, type);
if (text != null && ! (text.toString().trim().length() == 0)) {
final int textLength = text.length();
if (getSelectionEnd() != textLength) {
setSelection(textLength);
}
}
}
}
setSelection không hoạt động đối với tôi, nhưng điều này hoạt động như sự quyến rũ. Hoạt động trên afterTextChanged là tốt.
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
edittext.requestFocus(edittext.getText().length());
}
Trên api mới u có thể sử dụng một cái gì đó như thế này:
//buttons setups
private void buttonsSetupForRecommendations() {
button2.setNextFocusRightId(R.id.ok_button);
button2.setNextFocusLeftId(R.id.ok_button);
button2.setNextFocusDownId(R.id.cancel_button);
button2.setNextFocusUpId(R.id.cancel_button);
button.setVisibility(View.GONE);
button2.setText(R.string.cancel_text);
button1.setText(R.string.clear_text);
button1.setNextFocusRightId(R.id.cancel_button);
button1.setNextFocusLeftId(R.id.cancel_button);
button1.setNextFocusUpId(R.id.ok_button);
button1.setNextFocusDownId(R.id.ok_button);
button1.requestFocus();
}
công việc này với nút và các mặt hàng khác. Bạn có thể thêm mã này vào mã java ^^ hoặc xml
public void ontextchangelistner(){
if(s.toString().startsWith("0")) {
if (s.length() == 2) {
if (s.toString().contains("00")) {
editText.setText(s.toString().substring(1));
int pos = editText.getText().length();
editText.setSelection(pos);
}
}
}
Nếu bạn nhập lần đầu tiên bằng văn bản chỉnh sửa, nó hiển thị; nhưng trong lần thứ hai nhấn 0, số không này không được hiển thị. Tôi hy vọng nó sẽ giúp bạn.
- 1. Cách đặt văn bản trong EditText
- 2. Làm cách nào để thêm văn bản ở bên trái và bên phải của Tiêu đề Bảng điều khiển?
- 3. cách thay đổi màu tiêu điểm của EditText trong Android
- 4. Nhấn bên ngoài edittext để mất tiêu điểm
- 5. Con trỏ văn bản Android trong EditText
- 6. Chọn văn bản để sao chép Android EditText
- 7. Làm cách nào để bạn đặt tiêu điểm của phần tử văn bản TinyMCE?
- 8. Android làm cách nào để đặt tỷ lệ phần trăm/lề để EditText có 10% lợi nhuận ở hai bên?
- 9. Làm cách nào để căn chỉnh văn bản ở bên trái và văn bản ở bên phải trong cùng một dòng?
- 10. Đọc văn bản của EditText trong android
- 11. Căn chỉnh văn bản trong JLabel ở bên phải
- 12. Làm cách nào để đặt văn bản ở chính giữa trong ứng dụng Android ListView?
- 13. Làm cách nào để căn giữa văn bản gợi ý trong EditText trong Android?
- 14. Làm thế nào để thay đổi Chuyển văn bản sang bên phải trong Android?
- 15. Làm cách nào để đặt tiêu điểm khi có nhiều hộp văn bản bằng jquery?
- 16. Làm cách nào để đặt văn bản của TextView?
- 17. Cách đặt Expander ToggleButton ở bên phải
- 18. Cách tạo văn bản trong EditText theo chiều dọc (Android)
- 19. Làm thế nào để tắt định vị con trỏ và chọn văn bản trong EditText? (Android)
- 20. android edittext xóa tiêu điểm sau khi nhấp vào nút
- 21. Làm cách nào để mở khóa văn bản đã chọn trong Edittext Android?
- 22. Đặt số dòng văn bản tối đa cho EditText
- 23. Android: Căn chỉnh văn bản Spinner ở bên phải nhưng không được làm trung tâm
- 24. lề bên trong văn bản chỉnh sửa trong android
- 25. Cách nhận văn bản được chọn từ edittext trong android?
- 26. Căn chỉnh văn bản phù hợp nhưng ở bên phải?
- 27. Gán màu văn bản cho văn bản trong edittext
- 28. JTextField: Cách đặt văn bản ở bên trái của JTextField khi văn bản quá dài
- 29. cách đặt văn bản thành Edittext trong hộp thoại?
- 30. Làm thế nào để trích xuất văn bản theo kiểu HTML từ một EditText trong Android?
nếu bạn muốn yêu cầu Tập trung vào chế độ xem và sau đó đặt lựa chọn, đừng quên gọi thêm requestFocus(); – cV2