답변:
main.xml
파일 에서 시도해 볼 수 있습니다 .
android:selectAllOnFocus="true"
또는 Java에서는
editText.setSelectAllOnFocus(true);
editText.setSelectAllOnFocus(true);
프로그래밍 방식으로 수행하려는 경우 작동합니다.
Fragments
).
editText.requestFocus()
editText.clearFocus()
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
... 등 ... 다음 editText1.setOnFocusChangeListener(listener)
editText2.setOnFocusChangeListener(listener)
등등 ...
사용자에게 힌트를 제공하기 위해 android : hint = "hint" 를 시도해보십시오 .. !!
사용자가 edittextbox를 클릭하면 "힌트"가 자동으로 사라집니다. 적절하고 최상의 솔루션입니다.
다음에 editText에 OnClick 메서드를 추가 할 수도 있습니다.
_editText.setSelectAllOnFocus(true);
그리고 그 안에 :
_editText.clearFocus();
_editText.requestFocus();
editText를 클릭하자마자 전체 텍스트가 선택됩니다.
SelectAllOnFocus는 EditText가 처음으로 초점을 맞출 때 작동하지만 사용자가 클릭 할 때 마다 텍스트를 선택하려면 시간 editText.clearFocus()
사이 에 전화 를 걸어야합니다.
예를 들어, 앱에 하나의 EditText와 하나의 버튼이있는 경우 EditText를 변경 한 후 버튼을 클릭하면 EditText에 포커스가 남습니다. 그런 다음 사용자는 커서 핸들과 백 스페이스 키를 사용하여 새 값을 입력하기 전에 EditText에있는 내용을 삭제해야합니다. editText.clearFocus()
버튼의 onClick
메소드를 호출 하십시오 .
위의 답변을 시도했지만 진술을 바꿀 때까지 작동하지 않았습니다. 이것이 나를 위해 일한 것입니다.
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();
}
}
포커스가 EditText에 있는지 묻고 포커스를 먼저 요청하지 않으면 취소하십시오. 그렇지 않으면 다음에 EditText를 클릭하면 가상 키보드가 나타나지 않습니다.
이것은 나를 위해 작동합니다 :
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();
}
}
});