我的应用中有一个编辑文字。当用户触摸编辑文本时,应选择整个文本,并且当他开始键入文本时应该清除。一个例子是浏览器地址栏。有没有办法做到这一点?请帮助我。
答案 0 :(得分:26)
您可以使用
选择EditText中的所有文本答案 1 :(得分:4)
致电EditText.setSelectAllOnFocus(boolean selectAllOnFocus)
选择焦点上的所有文字。
为EditText
和onClick
来电edittext.selectAll();
答案 2 :(得分:2)
将属性添加到main.xml文件中:
android:selectAllOnFocus="true"
然后将选择所有文本,当用户键入将删除它的内容时。
答案 3 :(得分:1)
您可以使用属性android:hint
代替android:text
,只需特殊代码即可获得所需内容。
答案 4 :(得分:0)
您可以使用android:selectAllOnFocus
或setSelectAllOnFocus(boolean)
选择EditText中的所有文字。
选择所有文本时设置标志。然后使用EditText上的addTextChangedListener方法检测文本更改,并使您的类实现或定义实现TextWatcher类的内部类。
在此观察者类方法中,检查您设置的标志以指示是否已选择所有文本。如果是,则执行TextView.setText("")
。这将清除文本。现在再次将标志设置为false,以便后续文本更改不会导致文本被清除。
答案 5 :(得分:0)
这是有效的,所有文本都将被选中,当用户键入将删除它的内容时。
editText.setSelectAllOnFocus(true);
editText.requestFocus();
editText.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager) catalougeJobDetailFragment
.getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(commentEt, 0);
}
}, 20);