获取焦点时,selectEditText中的所有文本
我有一个与其中的一些虚拟文本的EditText。 当用户点击它,我希望它被选中,以便当用户开始input时,虚拟文本被删除。
我怎样才能做到这一点?
你可以试试你的main.xml
文件:
android:selectAllOnFocus="true"
editText.setSelectAllOnFocus(true);
这个工程,如果你想以编程方式做。
EditText dummy = ... // android.view.View.OnFocusChangeListener dummy.setOnFocusChangeListener(new OnFocusChangeListener(){ public void onFocusChange(View v, boolean hasFocus){ if (hasFocus) && (isDummyText()) ((EditText)v).selectAll(); } });
我知道你已经find了一个解决scheme,但真正正确的方法来做你所要求的就是在你的EditText中使用android:hint
属性。 当文本框为空并且没有被聚焦时,该文本显示,但是在selectEditText框时消失。
你为什么不尝试android:提示=“提示”提供给用户的提示..!
当用户点击edittextbox时,“提示”将自动消失。 它是适当和最好的解决scheme。
SelectAllOnFocus在EditText首次获得焦点时起作用,但是如果每次用户点击文本时都要select文本,则需要在editText.clearFocus()
之间调用editText.clearFocus()
。
例如,如果您的应用程序具有一个EditText和一个button,则在更改EditText之后单击该button会将焦点留在EditText中。 然后用户必须使用光标句柄和退格键来删除EditText中的内容,然后才能input新的值。 所以在Button的onClick
方法中调用editText.clearFocus()
。
之后,您还可以将OnClick方法添加到editText
_editText.setSelectAllOnFocus(true);
其中:
_editText.clearFocus(); _editText.requestFocus();
只要您点击editText,整个文本被选中。
通过调用焦点和程序select来进行pipe理
{ editabletext.requestFocus(); editabletext.selectAll(); }