Câu trả lời:
Bạn có thể thử trong main.xml
tập tin của bạn :
android:selectAllOnFocus="true"
Hoặc, trong Java, sử dụng
editText.setSelectAllOnFocus(true);
editText.setSelectAllOnFocus(true);
Điều này hoạt động nếu bạn muốn làm nó lập trình.
Fragments
).
editText.requestFocus()
phát hành editText.clearFocus()
trước để đảm bảo hành động mong muốn xảy ra trong trường hợp chế độ xem đã được tập trung
EditText dummy = ...
// android.view.View.OnFocusChangeListener
dummy.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus){
if (hasFocus) && (isDummyText())
((EditText)v).selectAll();
}
});
OnFocusChangeListener listener = new OnFocusChangeListener
... vv ... sau đó editText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
và cứ thế ...
Tôi biết bạn đã tìm thấy một giải pháp, nhưng thực sự cách thích hợp để làm những gì bạn yêu cầu là chỉ sử dụng android:hint
thuộc tính trong EditText của bạn. Văn bản này hiển thị khi hộp trống và không tập trung, nhưng biến mất khi chọn hộp EditText.
Tại sao bạn không thử dùng android: gợi ý = "gợi ý" để cung cấp gợi ý cho người dùng .. !!
"Gợi ý" sẽ tự động biến mất khi người dùng nhấp vào edittextbox. đó là giải pháp thích hợp và tốt nhất.
Bạn cũng có thể thêm Phương thức OnClick vào editText sau
_editText.setSelectAllOnFocus(true);
và trong đó:
_editText.clearFocus();
_editText.requestFocus();
Ngay sau khi bạn nhấp vào chỉnh sửa, toàn bộ văn bản được chọn.
Chọn AllOnF Focus hoạt động lần đầu tiên EditText được lấy nét, nhưng nếu bạn muốn chọn văn bản mỗi khi người dùng nhấp vào nó, bạn cần phải gọi editText.clearFocus()
giữa các lần.
Ví dụ: nếu ứng dụng của bạn có một nút Chỉnh sửa và một nút, nhấp vào nút sau khi thay đổi Chỉnh sửa sẽ rời khỏi tiêu điểm trong Chỉnh sửa. Sau đó, người dùng phải sử dụng tay cầm con trỏ và phím xóa lùi để xóa những gì trong EditText trước khi họ có thể nhập một giá trị mới. Vì vậy, hãy gọi phương thức editText.clearFocus()
của Nút onClick
.
Tôi đã thử một câu trả lời ở trên và không hoạt động cho đến khi tôi chuyển các báo cáo. Đây là những gì làm việc cho tôi:
myEditText.setSelectAllOnFocus(true);
myEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onClickMyEditText();
}
});
private void onClickMyEditText() {
if(myEditText.isFocused()){
myEditText.clearFocus();
myEditText.requestFocus();
}else{
myEditText.requestFocus();
myEditText.clearFocus();
}
}
Tôi đã phải hỏi nếu tiêu điểm là trên EditText, và nếu không yêu cầu tiêu điểm trước và sau đó xóa nó. Nếu không, lần tiếp theo tôi nhấp vào EditText, bàn phím ảo sẽ không bao giờ xuất hiện
Chỉ cần thêm phần này vào editText của bạn trong tệp .xml
android: select ALLOnF Focus = "true"
Đây là công việc cho tôi:
myEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(myEditText.isFocused()){
myEditText.requestFocus();
myEditText.clearFocus();
myEditText.setSelection(myEditText.getText().length(), 0);
}else{
myEditText.requestFocus();
myEditText.clearFocus();
}
}
});