获取焦点时,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(); }